Здравствуйте. Сразу скажу - усиленный поиск в гугле не нашел. Ситуация - пишем в существующий файл, потом пытаемся читать, что записали, но на чтение приходит старая версия файла. Изменения ловятся на втором - третьем выполнении скрипта. Код (PHP): $file = fopen( '$id' . '.php', 'w+' ); fwrite($file, '<?php' . PHP_EOL); fwrite($file, '$hidden = '); fwrite($file, var_export($ishidden, TRUE)); fwrite($file, ';' . PHP_EOL); fclose($file); include '$id' . '.php' Всякие кэши не стоят. Апач 2.4 с PHP 5.6 на Ubuntu. На винде такой проблемы нет. Пробывал: 1. Удалять старый файл перед записью; 2. touch(); 3. stream_set_write_buffer (); 4. sleep(10); 5. stream_set_blocking ();
случайно заметил что переменная $id в одинарных кавычках. эта строка так и остаётся бакс-ай-ди без замены на значение переменной. ну а кучу fwrite-ов обрамленную fopen-fclose можно заменить на один file_put_contents.