file_put_contents перетирает файл. Как используя file_put_contents
записывать в файл новую строку?
Как дописать строку в конец файла на php? file_put_contents
|
|
|||
|
1 ответ
|
Пример использования функции: $filename = '/tmp/example.log'; $data = 'test string'; file_put_contents($filename, $data); В результате выполнения этого кода в файл /tmp/example.log будет записана строка "test string". Если файла не существует, то файл будет создан автоматически. Теперь, чтобы повторные вызовы file_put_contents не удаляли содержимое файла, нужно установить 3-й параметр FILE_APPEND. После этого данные будут добавляться в конец файла: file_put_contents($filename, $data, FILE_APPEND); Ещё полезным может оказаться флаг LOCK_EX. Его установка будет гарантировать то, что другие потоки не будут писать в файл в то время, пока вы пишете в файл. Поэтому для записи логов в файл рекомендую делать так: file_put_contents($filename, $data, FILE_APPEND | LOCK_EX); Вот так я использую file_put_contents для дебага: file_put_contents('/tmp/debug', date('[Y-m-d H:i:s] ') . print_r($data, true) . PHP_EOL, FILE_APPEND | LOCK_EX); Здесь представлен пример вставки строки в файл на bash. |
||||||||||
|