Запись данных в файл при помощи php file_put_contents.
Для того чтобы сохранить данные в файл, есть специальная функция в PHP file_put_contents(). С её помощью можно записать информацию в файл разными способами. Рассмотрим все примеры file_put_contents PHP.
Приведенный способ очень прост. Он не раскрывает всех возможностей функции и подходит только для демонстрации её работы.
Ведь не стоит забывать о том, что подобный метод записи может дать сбой в условиях работающего сайта. Так как к файлу может поступать запрос на чтение и запись одновременно. Чтобы избежать подобных казусов, нужно предоставить нашему скрипту эксклюзивный доступ к файлу. Для этого следует использовать флажок блокировки LOCK_EX.
<?PHP
file_put_contents(document.txt,$info,LOCK_EX);
?>
Теперь с использованием LOCK_EX все запросы будут обрабатываться поочередно.
В приведенных выше примерах, функция file_put_contents() форматирует файл прежде, чем записать в него новую информацию. Так же можно не удаляя предыдущие данные, сохранить новые в конец, применив флаг FILE_APPEND.
Если запись прошла удачно, функция возвращает значение в виде размера файла в байтах, а в случае неудачи она выдаст 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); // После записи закрываем файл.
Похожие статьи
- Foreach PHP: последний элемент
- PHP-массив: функции и значение
- PHP: глобальная переменная в функции
- Извлечение координат из файла dxf autocad с помощью функции explode php
- HTML iframe: пример и особенности применения
- Что такое редирект и как его сделать
- Команды bat-файлов. Как создать bat-файл? Базовые команды