Чтение онлайн

на главную - закладки

Жанры

Курс "Язык программирования PHP"

Савельева Нина Владимировна

Шрифт:

<?php

$h = fopen("my_file.html","r+");

$content = fgets($h,2);

// считает первый символ из

// первой строки файла my_file.html

fclose($h);

echo $content;

?>

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

файла на конец файла. Это булева функция feof, в качестве параметра которой передается указатель на соединение с файлом.

Например, вот так можно считать все строки файла my_file.html:

<?php

$h = fopen("my_file.html","r");

while (!feof ($h)) {

$content = fgets($h);

echo $content,"<br>";

}

fclose($h);

?>

Функция fgetss

Существует разновидность функции fgets - функция fgetss. Она тоже позволяет считывать строку из указанного файла, но при этом удаляет из него все встретившиеся html-теги, за исключением, быть может, некоторых. Синтаксис fgetss такой:

string fgetss(указатель на файл,

длина [, допустимые теги])

Обратите внимание, что здесь аргумент длина обязательный.

Пример 9.6. Пусть у нас имеется файл my_file.html следующего содержания:

<h1>Без труда не вынешь и рыбку из пруда.</h1>

<b>Тише едешь - дальше будешь</b>

У семи нянек<i> дитя без глазу</i>.

Выведем на экран все строки файла my_file.html, удалив из них все теги, кроме <b> и <i>:

<?php

$h = fopen("my_file.html","r");

while (!feof ($h)) {

$content = fgetss($h,1024,'<b><i>');

echo $content,"<br>";

}

fclose($h);

?>

В результате работы этого скрипта получим:

Без труда не вынешь и рыбку из пруда.

Тише едешь - дальше будешь

У семи нянек дитя без глазу.

Функция fgetc

Естественно, если можно считывать информацию из файла построчно, то можно считывать ее и посимвольно. Для этого предназначена функция fgetc. Легко догадаться, что синтаксис у нее следующий:

string fgetc ( указатель на файл )

Эта функция возвращает символ из файла, на который ссылается указатель на файл, и значение, вычисляемое как FALSE, если встречен конец

строки.

Вот так, например, можно считать файл по одному символу:

<?php

$h = fopen("my_file.html","r");

while (!feof ($h)) {

$content = fgetc($h);

echo $content,"<br>";

}

fclose($h);

?>

На самом деле для того чтобы прочитать содержимое файла, открывать соединение с ним посредством функции fopen совсем не обязательно. В PHP есть функции, которые позволяют делать это, используя лишь имя файла. Это функции readfile, file и file_get_contents. Рассмотрим каждую их них подробнее.

Функция readfile

Синтаксис:

int readfile ( имя_файла

[, use_include_path])

Функция readfile считывает файл, имя которого передано ей в качестве параметра имя_файла, и выводит его содержимое на экран. Если дополнительный аргумент use_include_path имеет значение TRUE, то поиск файла с заданным именем производится и по директориям, входящим в include_path.

В программу эта функция возвращает число считанных байтов (символов) файла, а в случае ошибки - FALSE. Сообщения об ошибке в этой функции можно подавить оператором @ .

Пример 9.7. Следующий скрипт выведет на экран содержимое файла my_file1.html и размер этого файла, если он существует. В противном случае выведется наше сообщение об ошибке - строка "Error in readfile".

<?php

$n = @readfile ("my_file1.html");

/* выводит на экран содержимое файла и

записывает его размер в переменную $n */

if (!$n) echo "Error in readfile";

/* если функция readfile выполнилась

с ошибкой, то $n=false и выводим

сообщение об ошибке */

else echo $n;

// если ошибки не было, то выводим число

// считанных символов

?>

С помощью функции readfile можно читать содержимое удаленных файлов, указывая их URL-адрес в качестве имени файла, если эта опция не отключена в настройках сервера.

Сразу же выводить содержимое файла на экран не всегда удобно. Порой нужно записать информацию из файла в переменную, чтобы в дальнейшем произвести с ней какие-либо действия. Для этого можно использовать функцию file или file_get_contents.

Функция file

Функция file предназначена для считывания информации из файла в переменную типа массив. Синтаксис у нее такой же, как и у функции readfile, за исключением того, что в результате работы она возвращает массив:

Поделиться:
Популярные книги

Третий. Том 6

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
фантастика: прочее
попаданцы
5.00
рейтинг книги
Третий. Том 6

Изменяющий-Механик. Компиляция. Книги 1-18

Усманов Хайдарали
Собрание сочинений
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Изменяющий-Механик. Компиляция. Книги 1-18

Тринадцатый VIII

NikL
8. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый VIII

Геном хищника. Книга пятая

Гарцевич Евгений Александрович
5. Я - Легенда!
Фантастика:
рпг
фэнтези
попаданцы
6.00
рейтинг книги
Геном хищника. Книга пятая

Медиум

Злобин Михаил
1. О чем молчат могилы
Фантастика:
фэнтези
7.90
рейтинг книги
Медиум

Война

Валериев Игорь
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Война

Артефактор. Шаг в неизвестность

Седых Александр Иванович
1. Артефактор
Фантастика:
фэнтези
боевая фантастика
попаданцы
6.12
рейтинг книги
Артефактор. Шаг в неизвестность

Воин

Бубела Олег Николаевич
2. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.25
рейтинг книги
Воин

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Гримуар темного лорда IV

Грехов Тимофей
4. Гримуар темного лорда
Фантастика:
фэнтези
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Гримуар темного лорда IV

Наследие Маозари 5

Панежин Евгений
5. Наследие Маозари
Фантастика:
фэнтези
юмористическое фэнтези
5.00
рейтинг книги
Наследие Маозари 5

Мы – Гордые часть 8

Машуков Тимур
8. Стальные яйца
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Мы – Гордые часть 8

Боярышня Евдокия

Меллер Юлия Викторовна
3. Боярышня
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Боярышня Евдокия

Древесный маг Орловского княжества 6

Павлов Игорь Васильевич
6. Орловское княжество
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Древесный маг Орловского княжества 6