ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Операционная система. Часть Седьмая.


28-12-2009

boolean fpassthru(resource file)
Функция fpassthru (листинг 9.20) распечатывает содержимое файла в браузере. Данные отсылаются из текущего файла, начиная с текущей позиции и до конца файла, поэтому можно прочитать несколько строк и вывести остальные строки. После отправки файл закрывается. При возникновении ошибки функция fpassthru возвращает значение FALSE. Функция gzpassthru предназначена для выполнения аналогичной операции для сжатых файлов. Для функции readfile предварительно открывать файл не требуется.

Листинг 9.20. Функция fpassthru

<?php /*
** получить Web-страницу и изменить на ней титульный тег
*/
// открыть файл с использованием http- протокола if(!($myFile = fopen("http://www.php.net/", "r"))) {
print(" нельзя открыть файл"); exit;
}
$KeepSearching = TRUE;
while(!feof($myFile) AND $KeepSearching)
{
// прочитать строку из файла $myLine = fgets($myFile, 1024);
// поиск тега тела if(eregi("<body", $myLine))
{
// после тега тела // титульный тег найти невозможно $KeepSearching = FALSE;
}
//попробовать добавить текст после титульного тега $myLine = eregi_replace("<title>",
"<title>(fpassthru example)", $myLine); // отправить строку в браузер print("$myLine");
}
// отправить остаток файла в браузер fpassthru($myFile);

 ?> 
fprintf(resource file, string format, ...)
Функция fprintf аналогична функции printf, за исключением того, что она отправляет вывод на файл. Описание функции printf см. в главе 8, "Браузер ввода-вывода".
integer fputs(resource file, string output) Функция fputs является псевдонимом функции fwrite. string fread(resource file, integer length)
Функция fread (листинг 9.21) является версией функции fgets, которая позволяет работать с двоичными файлами. Она не реагирует на символы "конец строки" и всегда возвращает количество байтов, определенных аргументом length, если до этого не будет достигнут конец файла. Эта функция необходима, если вам требуется произвести чтение из таких двоичных файлов, как файлы изображений в формате jpeg.

j Листинг 9.21. Функция fread_
<?php
/*
** Проверка файла на формат GIF89
*/
$filename = "php.gif";
$fp = fopen($filename, "r");
//получить первые 128 байтов
$data = fread($fp, 128);
// закрыть файл
fclose($fp);
// Проверка на формат GIF89 if(substr($data, 0, 5) == "GIF89")
{
print("$filename является файлом формата GIF89.n");
}
else
{
print("$filename не является файлом формата GIF89 file.n");
}
?>

array fscanf(resource file, string format, ...)
Функция fscanf (листинг 9.22) считывает строки из открытого файла и делает попытку скопировать их в переменные в соответствии с форматом, указанным в аргументе format. Если имеются только два аргумента, функция fscanf возвращает массив. В противном случае она пытается разместить значения в указанных переменных.
Аргумент format представляет собой последовательность литеральных символов и кодов для вводимой строки. Литеральные символы должны соответствовать вводимой строке. Коды задают различные типы данных, которые функция fscanf преобразует из текста в соответствующие им типы данных. Пробелы в формате соответствуют любому количеству пробелов во вводимой строке. Например, один пробел в формате может соответствовать нескольким символам табуляции при вводе. Каждый формат начинается с символа % и завершается символом, определяющим тип (табл. 9.5). Между символом % и кодом типа можно задать длину, воспользовавшись целыми числами. Длина вводимого значения должна точно соответствовать ширине.
Кроме того, между ведущим символом % и длиной можно разместить символ *, чтобы иметь возможность сканирования и удаления поля.
Язык PHP также имеет функцию sscanf для оценки строк, которая описывается в главе 12, "Кодирование и декодирование".
Операционная система
| Листинг 9.22. Функция fscanf_
<?php
$fp = fopen('data.txt', 'r');
while(!feof($fp))
{
$a = fscanf($fp,
"%*4d %*i %o %u %x %f %s %3c %[a-zA-Z] %n"); print_r($a); print("<br>");
}
fclose($fp);

?>

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Операционная система. Часть Шестая. PHP. Операционная система. Часть Восьмая.