В PHP существует множество встроенных функций для записи в новый или существующий файл. Функция fwrite() одна из них для записи содержимого в файл. Функции fopen() и fclose() необходимы для записи содержимого в файл с помощью функции fwrite(). Функция fopen() используется для открытия файла для чтения, записи и добавления, которая возвращает обработчик файла. Функция fwrite() использует обработчик файла для записи содержимого в файл. Функция fclose() используется для закрытия файла, открытого для чтения или записи, и освобождения буфера, используемого файлом. В этом руководстве объясняется, как содержимое может быть записано в новый или существующий файл с помощью функции fwrite().
Эта функция используется для записи определенного содержимого или определенного количества байтов в файл после его открытия с помощью функции fopen(). Синтаксис этой функции приведен ниже.
int fwrite(resource $file_handler , string $string_data [, int $length ])
Эта функция может принимать три аргумента. Первый аргумент – это переменная обработчика файла, которая определяется до открытия файла для записи. Второй аргумент – это строковые данные, которые будут записаны в файл. Третий аргумент является необязательным и используется для записи определенного количества байтов в файл.
Вы должны установить разрешение на запись для создания любого файла с использованием сценария PHP в Ubuntu. Выполните следующую команду, чтобы установить все разрешения для папки fwrite, в которой будет создан новый файл, с помощью функции fwrite().
$ sudo chmod 777 -R /var/www/html/php/fwrite
В следующем примере показан способ создания нового файла с помощью функции fwrite(). Функция fopen() используется в сценарии для создания обработчика файлов для записи нового текстового файла с именем newfile.txt. Затем переменная $ file_handler используется в функции fwrite() для записи содержимого переменной $ data в файл. Функция fclose() используется для закрытия файла, чтобы освободить ресурс, выделенный функцией fopen(). Функция file_get_contents() используется для чтения содержимого newfile.txt, чтобы подтвердить, что файл был создан и содержимое было правильно записано в этот файл.
<? php // Определите имя файла $filename="newfile1.txt"; // Открываем файл для чтения $file_handler=fopen($filename, 'w'); // Проверяем, создан ли обработчик файла if (!$file_handler) // Распечатать сообщение об ошибке die("Файл не может быть открыт для записи <br/>"); else { // Записываем конкретное содержимое в файл $data="Это первая строка файла. <br />"; fwrite($file_handler, $data); // Закрываем файл fclose($file_handler); // Распечатать сообщение об успешном завершении echo "<p style = 'font-size: 20px; color: blue'> Файл создан с содержимым. </p>"; // Распечатать содержимое файла echo "<h3> Содержимое файла после создания: </h3>"; echo file_get_contents($filename); } ?>
Вывод:
Вывод показывает, что текст «Это первая строка файла» – это содержимое файла newfile.txt, который был записан с помощью функции fwrite().
В следующем примере показано, как добавить содержимое любого существующего файла с помощью функции fwrite(). Текстовый файл с именем newfile.txt, созданный в предыдущем примере, был открыт в режиме добавления с помощью функции fopen(). Затем функция fwrite() используется для добавления содержимого $data в конец файла. Как и в предыдущем примере, функция file_get_contents() используется для проверки обновленного содержимого newfile.txt.
<? php // Определите имя файла $filename = "newfile1.txt"; // Печать содержимого файла echo "<h3> Содержимое файла до обновления: </h3>"; echo file_get_contents($filename); // Открываем файл для чтения $file_handler=fopen($filename, 'a +'); // Проверяем, создан ли обработчик файла if (!$File_handler) // Распечатать сообщение об ошибке die("Файл не может быть открыт для записи <br />"); else { // Записываем конкретное содержимое в файл $data="Это вторая строка файла. <br />"; fwrite($file_handler, $data); // Закрываем файл fclose($file_handler); // Распечатать сообщение об успешном завершении echo "<p style = 'font-size: 20px; color: blue'>Файл обновлен с учетом содержимого. </p>"; } // Распечатываем содержимое файла echo "<h3> Содержимое файла после обновления: </h3>"; echo file_get_contents($filename); ?>
Вывод:
Вывод показывает, что текст «Это вторая строка файла» был добавлен в конец текстового файла.
Конкретные строковые данные используются для записи в текстовый файл в двух предыдущих примерах. Но если вы хотите записать определенные байты данных в файл, вы должны использовать третий аргумент функции fwrite(). В следующем примере показан способ записи конкретных байтов данных в новый текстовый файл. Обработчик файла с именем $file_handler используется для создания нового файла с именем newfile2.txt, а функция fwrite() используется для записи 35 байтов данных в этот файл. Здесь функция file_get_contents() используется для чтения содержимого файла, как в предыдущем примере.
<? php // Определите имя файла $filename="newfile2.txt"; // Открываем файл для чтения $file_handler=fopen($filename, 'w'); // Проверяем, создан ли обработчик файла if (!$File_handler) // Распечатать сообщение об ошибке die("Файл не может быть открыт для записи <br />"); else { // Записываем 35 байтов из $ data $data="PHP - популярный язык сценариев для разработки веб-приложений. <br />"; fwrite($file_handler, $data, 35); // Закрываем файл fclose($file_handler); // Распечатать сообщение об успешном завершении echo "<p style = 'font-size: 20px; color: green'> Файл создан с содержимым 35 байтов. </p>"; // Распечатать содержимое файла echo "<h3>Содержимое файла после создания: </h3>"; echo file_get_contents($filename); } ?>
Вывод:
Вывод показывает, что 35 байтов текста: «PHP – популярный язык сценариев для разработки веб-приложений». это «PHP – популярный язык сценариев», записанный в файл.
Использование функции fwrite() с необязательным аргументом и без него было объяснено в этом руководстве на нескольких примерах. Эта статья поможет читателям узнать один из способов записи содержимого в файл, и они смогут записать содержимое в файл с помощью функции fwrite().