1

したがって、この簡単な例を考えてみましょう。

<?php
$memory = fopen('php://memory', 'r+');

fwrite($memory, 'asdf', 4);

$value = fread($memory, 3);

var_dump($value);

$value文字列が含まれていることを期待していました"asd"が、代わりに空の文字列を取得しました。この例について、変更が必要な明らかなものはありますか?私の期待は間違っていますか?これが発生する原因となる可能性のあるもの(おそらくconfiguration / php.iniの問題)が$value実際に含まれている必要がありますか?"asd"

4

2 に答える 2

4

データを書き込んだ後、ストリームの内部ポインタはインデックス4にあるため、fseekストリームの最初に戻る必要があります。

// fwrite
fseek($memory, 0);  // same as rewind($memory);
// fread
于 2012-11-02T22:54:42.127 に答える
0

あるいは、これも機能します(基本的にはと同等ですfseek($memory, 0);)。

rewind($memory);
于 2012-11-02T23:40:14.410 に答える