ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Запись в файл на PHP с помощью fwrite()

Как скачать и сохранить удаленное изображение с помощью PHP

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

 

Использование функции 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

Пример-1: Запишите контент, создав новый файл

В следующем примере показан способ создания нового файла с помощью функции 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().

 

Пример-2: добавить содержимое в существующий файл

В следующем примере показано, как добавить содержимое любого существующего файла с помощью функции 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);
?>

 

Вывод:

Вывод показывает, что текст «Это вторая строка файла» был добавлен в конец текстового файла.

 

Пример-3: записать определенное количество байтов в файл

Конкретные строковые данные используются для записи в текстовый файл в двух предыдущих примерах. Но если вы хотите записать определенные байты данных в файл, вы должны использовать третий аргумент функции 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().

Exit mobile version