PHP Понимание stream_get_contents для существующего файла, открытого с помощью w +

Я пытался выяснить файловые указатели в PHP, поэтому я написал небольшой скрипт для его проверки:

$fp = fopen('test.me', 'w+');
fwrite($fp, '12345');
rewind($fp);
echo 'contents: ['.stream_get_contents($fp)."]\n";
fseek($fp, 0, SEEK_END);
fwrite($fp, '6789');
fclose($fp);
echo 'contents: ['.file_get_contents('test.me')."]\n";

Легко и приятно. Откройте файл для чтения / записи из него. Напиши ему. Вернитесь к началу файла, распечатайте его содержимое. Перейти в конец файла, добавить еще немного к нему. Наконец, распечатайте все содержимое файла.

Я запускаю его и получаю ожидаемые результаты:

contents: [12345]
contents: [123456789]

Гордясь собой за то, что написал этот шедевр, я подхожу к своему терминалу, подбираю и вхожу, чтобы запустить его снова.

Этот раз:

contents: []
contents: [123456789]

Оказывается, что если файл существует в начале скрипта, первый блок всегда contents:[], Если я удалю test.me файл, то первый блок contents:[12345],

Что тут происходит?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]