この質問は、この質問に関する私の新しい発見と密接に関連しています。
php://memory
ハンドル間またはハンドル間のストリーム内データを保持する方法はありphp://temp
ますか? 前述のストリームを後で開くと、既存のデータが消去されることを読みました(どこかで手に入れることはできません)。
$mem1 = fopen('php://memory', 'r+');
fwrite($mem1, 'hello world');
rewind($mem1);
fpassthru($mem1); // "hello world"
$mem2 = fopen('php://memory', 'r+');
rewind($mem2);
fpassthru($mem2); // empty
繰り返しになりますが、私の質問は、既存のデータへの新しいハンドルを作成するときに、既存のデータを強制的にストリームに保持する方法はありますか?
(これが可能であれば、後者の呼び出しfpassthru()
はもちろんダンプhello world
します)