Для считывания данных из файлов в PHP имеется ряд функций, которые мы рассмотрим в данном уроке.
Чтение данных из файла
После того, как соединение с файлом открыто, можно произвести чтение данных из этого файла. В PHP существует целый ряд функций, предназначенных для считывания данных из файла:
Функция fread() позволяет произвести считывание данных из файла. Синтаксис функци выглядит следующим образом:
fread (указатель на файл,длина)
Параметр указатель на файл позволяет установить связь с файлом из которого будет происходить считывание. Указатель на файл возникает момент создания нового файла или открытия существующего ($h=fopen()). Параметр длинна позволяет указать количество информации (в байтах), которое будет считанно из файла. Длинну файла можно узнать при помощи функции filesize().
В результате своего выполнения функция fread() возвращает строку со считанной из файла информацией.
Работа функции fgets() практически аналогична функции fread() за тем лишь исключением, что в данном случае не обязательно указывать длинну файла. Синтаксис у нее следующий:
fgets ( указатель на файл [, длина])
Если параметр длинна не указан, то файл будет считан целиком:
В данном примере мы производим считывание данных из файла внутри цикла while. Условием выполнение цикла является проверка окончания файла – !feof ($h). Если не произошло окончание файла, то считывается 1024 байта данных из файла, с паралельным удалением всех встречающихся HTML тегов, за исключением <h1>.
В данном примере для считывания всей строки мы использовали цикл while(), каждая итерация которого инициировалась при выполнении условия не достижения конца файла..
Функция readfile() позвояет произвести чтение из файла по одному только имени файла и вывести на экран его содержимое. Синтаксис этой функции выглядит следующим образом:
readfile ( имя_файла [ use_include_path])
Если используется аргумент use_include_path, то поиск файла будет производиться внутри директории для скриптов по умолчанию (include_path), расположение которой задается в настройках PHP.
В момент вызова функция выводит на экран считанную строку, а в результате своей работы возвращает количество считанных символов:
Функция file() позволяет считать данные из файла, записав их в массив:
file ( имя_файла [ use_include_path])
Каждым элементом созданного массива будет являться новая строка файла из которого производилось считывание. Дополнительный аргумент use_include_path определяет, искать или нет данный файл в директориях include_path.
Попробуем считать данные из файла file1.txt при помощи функции file():
В данном примере мы использовали функцию htmlspecialchars()для перевода всех символов HTML форматирования в их специальную кодировку для вывода их на экран.