PHP для новичков: работа с файлами (fopen, режимы)

Создание, открытие и закрытие файлов

PHP позволяет управлять файлами: создавать, изменять, выводить содержимое и записывать его в переменные. Функция fopen() открывает файл. Первый аргумент – имя файла, второй – режим открытия.

$файл = fopen("текст.txt", "w");

Режимы открытия:

  • "r" – чтение
  • "w" – запись (файл создаётся или перезаписывается)
  • "a" – добавление (запись в конец файла)
  • "r+" – чтение и запись
  • "w+" – запись и чтение (файл перезаписывается)
  • "a+" – добавление и чтение

После fopen() необходимо закрыть файл с помощью fclose(), чтобы избежать утечек памяти:

$файл = fopen("текст.txt", "w");
fclose($файл);

Запись данных в файл

Функция fwrite() записывает данные в открытый файл. Первый аргумент – указатель на файл, второй – данные:

$файл = fopen("текст.txt", "w");
fwrite($файл, "Пример текста\n");
fwrite($файл, "Ещё текст\n");
fclose($файл);

\n – символ перевода строки. В режиме «w» файл перезаписывается при каждом вызове.

Чтение данных из файла

Функция fread() читает данные из файла. Первый аргумент – указатель на файл, второй – размер файла (определяется с помощью filesize()):

$имяФайла = "текст.txt";
$файл = fopen($имяФайла, "r");
$контент = fread($файл, filesize($имяФайла));
fclose($файл);
echo $контент;

Выведенный текст будет в одной строке, поскольку HTML игнорирует символы перевода строки.

Простые функции работы с файлами: file_put_contents() и file_get_contents()

Функции file_put_contents() и file_get_contents() упрощают работу с файлами:

file_put_contents("hi.txt", "Пример текста\nХеллоу");
echo file_get_contents("hi.txt");

Управление файлами: проверка существования, переименование и удаление

  • file_exists() – проверяет существование файла.
  • rename() – переименовывает файл.
  • unlink() – удаляет файл.

Пример:

if (file_exists("hi.txt")) {
    echo "1"; // файл существует
} else {
    echo "";
}

rename("hi.txt", "new_name.txt");
unlink("new_name.txt");

Права доступа к файлам

Информация о файле (путь и права доступа) доступна через __FILE__ и fileperms():

echo __FILE__ . "<br>";
echo fileperms(__FILE__);

Права доступа можно изменить с помощью chmod():

chmod(__FILE__, 0777); // пример изменения прав доступа

Рассмотрены основные функции PHP для работы с файлами: создание, открытие, запись, чтение, проверка существования, переименование, удаление и управление правами доступа.

Что будем искать? Например,программа