Функция file_put_contents в PHP — что это? Описание, примеры
В языке программирования PHP file_put_contents - функция, которая записывает данные в файл с эквивалентом fopen (), fwrite (), напротив операндов fread () и fclose (). Принимает на вход два параметра: имя файла и содержимое для записи, с третьим необязательным параметром, определяющим дополнительные характеристики операции. Если вычисление file_put_contents в PHP успешно завершено, оно возвращает количество байтов, записанных в файл.
File_put_contents в PHP — что это? Примеры
Алгоритм:
- в случае, когда USE_INCLUDE предустановлен, проверяется путь включения копии *filename*;
создается файл, если он не существует;
открывается файл;
блокируется файл, если установлен LOCK_EX;
скрипт переходит в конец файла, в противном случае содержимое очищается.
запись данных в файл;
закрытие файла и разблокировка.
Данный операнд возвращает число символов, записанных в файл при успешном завершении, или FALSE при сбое.
Применять функционал очень просто. Пример:
<? PHP
$ myarray [] = "Это строка первая";
$ myarray [] = "Это строка вторая";
$ myarray [] = "Это строка три";
$ mystring = implode ("\ n", $ myarray);
$ numbytes = file_put_contents ($ filename, $ mystring);
print "$ numbytes bytes записано \ n";
?>
Помните, что сначала нужно установить имя файла $. Кроме того, скрипт прост, он должен выводить «52 байта», который представляет собой сумму трех строк текста плюс два новых строковых символа, используемых для implode () массив. Новый символ линии на самом деле является только одним символом внутри файлов, тогда как PHP представляет его с использованием двух \ и n.
Вы можете передать третий параметр file_put_contents в PHP, чтобы добавить текст в ваш второй параметр к существующему тексту в файле. Если вы не используете FILE_APPEND, существующий текст будет очищен и заменен, что не всегда является желаемым поведением скрипта.
Возможные ошибки
Могут возникнуть сложности при написании скрипта для почты, который удаленно проверяет наш почтовый сервер. Ему нужно загрузить вложения и скопировать их в каталог на локальном веб-сервере интрасети.
Скрипт правильно просматривает почту, но при работе с вложениями может возникнуть проблема:
PHP Warning: file_put_contents: не удалось открыть поток: разрешено в C:\inetpub\wwwroot\quotation_test\log\log_mailcheck.php в строке 107.
Решение вопроса — в проверке директивы open_basedir в php.ini. Нужно выяснить, существует ли каталог C:\inetpub\wwwroot\quotation_test\log\scans?, а при необходимости добавить его.
Похожие статьи
- Запись данных в файл при помощи php file_put_contents.
- Извлечение координат из файла dxf autocad с помощью функции explode php
- PHP массив в массиве: пример
- Foreach PHP: последний элемент
- Что можно удалять с диска С? Очистка диска С: советы
- PHP: глобальная переменная в функции
- Программа восстановления файлов после удаления