Я хочу прочитать файл в строку, изменить содержимое и записать обработанную строку в файл. Кроме того, другой запрос к серверу может начаться слишком рано и попытаться записать тот же файл до завершения первого - это НИКОГДА не должно происходить (пока я использую flock) - было бы еще лучше, если бы скрипт блокировался до тех пор, пока не замок снят.
Вот какой-то неполный подход
$h = fopen($fp, 'a+');
flock($h, LOCK_EX);
$oTxt = '';
while (!feof($file)) {
$oTxt .= fread($h, 8192);
}
rewind($h);
ftruncate($h, 0)
fwrite($h, ); // process contents and write it back
flock($h, LOCK_UN);
fclose($h);
Примечание. Этот вопрос очень похож на Какой лучший способ прочитать, а затем перезаписать содержимое файла в php? (в моем случае это файл json, который я хочу декодировать, вставить или отредактировать какой-то узел, а затем снова закодировать его), но это не так. дубликат.