6

テキスト ファイルに保存しunserialize()たバックトレースを実行できません。serialize()文字列をコピーして貼り付けることもできません。NULLの前のデータのみをコピーするため、PHPでシリアル化を解除できません。

これは、メモ帳++での外観の小さな抜粋です

ここに画像の説明を入力

これをシリアル化解除する方法はありますか?

注:error_log($backtrace, 3, 'file.log');ファイルを保存するために使用し、メモ帳++で開いてコピーして貼り付けますが、NULL文字を超えてコピーすることはできません。

4

1 に答える 1

3

したがって、シリアル化関数は、ここに示されているように、構文 null*null を使用してメンバー変数を識別します。

null 文字は文字列にエンコードされ、\0通常は出力に表示されません。シリアル化を解除するには、これらの「null」テキストを に戻す必要があります\0

シリアル化された配列を作成するときは、に変換する関数を実行し\0ます[NULL]

$string = str_replace("\0","[NULL]",$string);

次に、シリアル化を解除する準備ができたら、反対のことを行うことができます

$string = str_replace("[NULL]","\0",$string);
于 2015-07-09T21:02:23.850 に答える