Курс "Язык программирования PHP"
Шрифт:
Обе функции, fread и fgets, прекращают считывание данных из файла, если встречают конец файла. В PHP есть специальная функция, проверяющая, смотрит ли указатель позиции
Например, вот так можно считать все строки файла my_file.html:
?>
Функция fgetss
Существует разновидность функции fgets - функция fgetss. Она тоже позволяет считывать строку из указанного файла, но при этом удаляет из него все встретившиеся html-теги, за исключением, быть может, некоторых. Синтаксис fgetss такой:
Обратите внимание, что здесь аргумент длина обязательный.
Пример 9.6. Пусть у нас имеется файл my_file.html следующего содержания:
У семи нянек<i> дитя без глазу</i>.
Выведем на экран все строки файла my_file.html, удалив из них все теги, кроме <b> и <i>:
?>
В результате работы этого скрипта получим:
У семи нянек дитя без глазу.
Функция fgetc
Естественно, если можно считывать информацию из файла построчно, то можно считывать ее и посимвольно. Для этого предназначена функция fgetc. Легко догадаться, что синтаксис у нее следующий:
string fgetc ( указатель на файл )
Эта функция возвращает символ из файла, на который ссылается указатель на файл, и значение, вычисляемое как FALSE, если встречен конец
Вот так, например, можно считать файл по одному символу:
?>
На самом деле для того чтобы прочитать содержимое файла, открывать соединение с ним посредством функции fopen совсем не обязательно. В PHP есть функции, которые позволяют делать это, используя лишь имя файла. Это функции readfile, file и file_get_contents. Рассмотрим каждую их них подробнее.
Функция readfile
Синтаксис:
Функция readfile считывает файл, имя которого передано ей в качестве параметра имя_файла, и выводит его содержимое на экран. Если дополнительный аргумент use_include_path имеет значение TRUE, то поиск файла с заданным именем производится и по директориям, входящим в include_path.
В программу эта функция возвращает число считанных байтов (символов) файла, а в случае ошибки - FALSE. Сообщения об ошибке в этой функции можно подавить оператором @ .
Пример 9.7. Следующий скрипт выведет на экран содержимое файла my_file1.html и размер этого файла, если он существует. В противном случае выведется наше сообщение об ошибке - строка "Error in readfile".
?>
С помощью функции readfile можно читать содержимое удаленных файлов, указывая их URL-адрес в качестве имени файла, если эта опция не отключена в настройках сервера.
Сразу же выводить содержимое файла на экран не всегда удобно. Порой нужно записать информацию из файла в переменную, чтобы в дальнейшем произвести с ней какие-либо действия. Для этого можно использовать функцию file или file_get_contents.
Функция file
Функция file предназначена для считывания информации из файла в переменную типа массив. Синтаксис у нее такой же, как и у функции readfile, за исключением того, что в результате работы она возвращает массив:
Товарищ император
Фантастика:
альтернативная история
рейтинг книги
Лондон
The Big Book
Проза:
историческая проза
рейтинг книги
Хранилище
Фантастика:
ужасы и мистика
рейтинг книги
Письма
Религия и эзотерика:
религия
рейтинг книги
Разбитое окно
8. Райм и Сакс
Детективы:
прочие детективы
рейтинг книги
Столкновение миров
Фантастика:
фэнтези
ужасы и мистика
рейтинг книги
Потомок бога
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
рейтинг книги
Меняя маски
1. Унесенный ветром
Фантастика:
боевая фантастика
попаданцы
рейтинг книги