Запись данных в файл при помощи php file_put_contents.

Для того чтобы сохранить данные в файл, есть специальная функция в PHP file_put_contents(). С её помощью можно записать информацию в файл разными способами. Рассмотрим все примеры file_put_contents PHP.

file put contents php пример

Приведенный способ очень прост. Он не раскрывает всех возможностей функции и подходит только для демонстрации её работы.

Ведь не стоит забывать о том, что подобный метод записи может дать сбой в условиях работающего сайта. Так как к файлу может поступать запрос на чтение и запись одновременно. Чтобы избежать подобных казусов, нужно предоставить нашему скрипту эксклюзивный доступ к файлу. Для этого следует использовать флажок блокировки LOCK_EX.

<?PHP

file_put_contents(document.txt,$info,LOCK_EX);

?>

Теперь с использованием LOCK_EX все запросы будут обрабатываться поочередно.

В приведенных выше примерах, функция file_put_contents() форматирует файл прежде, чем записать в него новую информацию. Так же можно не удаляя предыдущие данные, сохранить новые в конец, применив флаг FILE_APPEND.

php file put contents

Если запись прошла удачно, функция возвращает значение в виде размера файла в байтах, а в случае неудачи она выдаст FALSE. Зная эту информацию, можно сделать проверку, как указано в примере выше.

Сохранение массивов в файл при помощи file_put_contents

Для записи массивов в файл можно использовать эту же функцию, но перед этим массив нужно сериализовать. Другими словами, преобразовать его в текст. А после записи десериализовать все обратно в массив.

<?PHP

$mass=array(1,2,3); // Это массив.

$document='document.txt'; // Файл.

$info=serialize($mass); // Здесь происходит сериализация массива.

file_put_contents($document,$info); // Запись его в файл.

$info=file_get_contents($document); // Чтение файла.

$mass=unserialize($info); // Десериализация данных файла для возвращения массива в исходное состояние.

?>

Запись в файл при помощи fopen(), fwrite(), fclose()

Есть и другой вариант записи данных посредством PHP - с использованием функций fopen(), fwrite(), fclose(). Они аналогичны PHP file_put_contents(), но позволяют более детально подойти к написанию скрипта выполняющего различные операций с файлом.

  • fopen() - открытие файла;
  • fwrite() - чтение файла;
  • fclose() - закрытие файла;

При использовании функции, fopen() нужно указать режим её работы

  • $file = fopen($document, "w");

В этом примере функция fopen() с режимом “W” - (writting) может только записывать данные в файл. Поэтому его содержимое будет удалено. А если файла с таким именем нет, то скрипт создаст его.

  • В случае, если нужно дописать информацию, сохранив при этом предыдущее содержимое, то при открытии нужно использовать режим “W+”.

$file = fopen($document, "w+"); // Открытие файла.

Затем идёт запись в файл:

  • fwrite($file, $info); // Запись в файл.
  • fclose($file); // После записи закрываем файл.