Space Base Space Base
+7 928 008-80-89
ru
  • en
  • es
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  • Главная
  • Услуги
  • Портфолио
  • Библиотека
  • Контакты
  1. Библиотека
  2. PHP
  3. Создание, открытие, чтение, запись, удаление и проверка наличия файла в PHP
logo

Создание, открытие, чтение, запись, удаление и проверка наличия файла в PHP

11.02.2015

В общем виде взаимодействие с файлами в PHP сводится к открытию файла, выполнению с ними необходимых действий и закрытию файла. При открытии файла определяется режим дальнейшей с ним работы. Это может быть открытие для чтения, записи, добавления данных. Есть так же режимы открытия файла, совмещающие в себе одновременно и чтение и запись.

Существует множество возможностей выполнять чтение из файлов – можно получить данные в разной форме – построчное считывание, получение массива строк и так далее.

Создание и запись файла

Для создания файла, необходимо выполнить открытие файла в режиме записи. Открытие файла выполняется функцией fopen. Первым параметром этой функции указывает путь к файлу. Второй параметр указывает на режим открытия файл. Для создания файла нужно указать режим записи файла - "w".

$f = fopen("myfile.txt", "w");

Если файл с таким именем уже есть, то режим записи позволит создать новый пустой файл на месте существующего, удалив все его данные.

Еще существует параметр "w+", позволяющий, открывать одновременно для чтения и записи. При этом, если файл с таким именем уже существовал, данные в нем сотрутся.

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

Для добавления новых данных в открытый в режиме записи файл используется функция fwrite. Первым параметром указывается дескриптор файла. Затем строка, которую нужно записать в файл. При необходимости, третьим параметром можно ограничить количество записываемых символов.

fwrite($f, "Мой текст для записи в файл.");

После записи всех строк, его необходимо закрыть. Для этого применяется функция fclose. Единственным параметром для нее служит дескриптор файла.

fclose($f);

В итоге, код создания и сохранения файла выглядит следующим образом:

$f = fopen("myfile.txt", "w");
fwrite($f, "Первая строка.\r\n");
...
fwrite($f, "Последняя строка.\r\n");
fclose($f);

Символы "\r\n" означают символ конца строки. Если не добавлять, все строки в записанном файле объединятся в одну строку.

Добавление данных в существующий файл

Для того, чтобы дописать какую-либо информацию в уже созданный файл, его нужно открыть в режиме записи, но с сохранением имеющейся информации. Т.е. файл будет открыт так же для записи, но при записи в такой файл, они будут добавляться в его конец.

$f = fopen("myfile.txt", "a"); "// Параметр "a" указывает открыть в режиме добавления"
fwrite($f, "Новая строка\r\n");
fclose($f);

Если же файла с указанным именем не существует, файл будет создан и все данные будут записаны в него.

Еще есть режим "a+", открывающий файл для чтения и записи, с переходом в конец файла.

 

Чтение файла

Для чтения из файла, функции fopen назначается параметр "r", что означает, что файл будет открыт только для чтения. Чтение из файла выполняет функция fgets. Первым параметром указывается дескриптор файла. Второй, необязательный, параметр определяет размер считываемой строки. Если второй параметр не указывать, текущая строка будет считана до символа конца строки.

$f = fopen("myfile.txt", "r"); // Параметр "r" указывает открыть в режиме чтения
$s = fgets($f);
echo $s;
fclose($f);

Режим "r+" открывает файл для чтения и записи.

Для считывания всех строк из файла, можно воспользоваться циклом, в котором будет считываться по одной строке до конца файла:

$f = fopen("myfile.txt", "r");
while (!feof($f)){
$s = fgets($f);
echo $s;
}
fclose($f);

Функция feof используется в условии цикла для определения конца файла и завершения цикла считывания.

Кроме описанного метода получения данных из файла, PHP имеет еще множество различных функций. Иногда проще получить стразу все содержимое файла (функция readfile) или загрузить все строки в массив (функция file), и работать уже с ним. Для таких целей не придется открывать файл для чтения и закрывать его. Все эти действия будут выполнены самой функцией.

readfile("myfile.txt");

 

$mas = file("myfile.txt");

foreach ($mas as $m)
echo $m;

С помощью функции fgetc можно считывать содержимое файла посимвольно:

$f = fopen("myfile.txt", "r");
while (!feof($f)){
$s = fgetc($f);
echo $s;
}
fclose($f);

Удаление файла

Удаление файла выполняется функцией unlink. В параметре указывается путь к удаляемому файлу.

unlink("myfile.txt");

Проверка существует ли файл

Иногда, прежде чем, выполнять какие-либо действия с файлом необходимо проверить, существует ли он. Для этого используется функция file_exists. В параметре указывается путь к файлу.

if (file_exists("myfile.txt"))
echo "Такой файл есть.";
else
echo "Файла с таким именем нет.";

Другие материалы:

Работа с датой и временем в PHP


Экспорт данных в Excel на PHP


ID последней записи в базе данных MySQL в PHP


Написать комментарий

Комментарии

В комментариях запрещено публиковать рекламные материалы. Все сообщения оправляются на модерацию и будут опубликованы, если не нарушают правил сайта после проверки.


коммент.

Разработка сайтов

Корпоративный сайт
Интернет-магазин
Лендинг - одностраничный сайт
Сайт-визитка
Сайт-портфолио

Проектирование

Прототип, UX-дизайн

Дизайн

UI-дизайн
Логотип

+54 911 2801-4950

info@space-base.net
+7 928 008-80-89

Web-сайты для успешного бизнеса

Web-сайты для успешного бизнеса

Главная Услуги Портфолио События Библиотека Контакты
+7 928 008-80-89 Меню
Политика в отношении обработки персональных данных © Copyright 2014 - | Space-Base

Лучшее время начать свой проект - Сейчас!

Выбраны опции:

Отправить сообщение на:

Telegram WhatsApp

Отправляя сообщение, вы даете свое согласие на
обработку песональных данных