boolean fclose(resource file)
Функция fclose (листинг 9.9) закрывает открытый файл. При открытии файла программист получает целое число, которое является дескриптором файла. Этот дескриптор и используется при закрытии файла для завершения работы с ним. Функции, используемые для открытия файлов, - fopen и fsockopen. Для того чтобы закрыть канал, используется функция pclose.
Листинг 9.9. Функция fclose
<?php
// открыть файл для чтения
$myFile = fopen("data.txt", "r");
// убедиться в том, что открытие прошло успешно
if(!($myFile))
{
print(" файл нельзя открыть"); exit;
}
while(!feof($myFile))
{
// прочитать строку из файла $myLine = fgets($myFile, 255); print("$myLine <br>n");
}
// закрыть файл fclose($myFile);
?>
boolean feof(resource file)
Язык PHP хранит указатель на позицию в файле, с которой было произведено чтение в последний раз. Функция feof возвращает значение TRUE, если эта позиция находится в конце файла. Эта функция чаще всего используется в условном выражении цикла while, в котором осуществляется последовательное чтение файла с начала и до конца (листинг 9.9). Для того чтобы узнать точное положение, из которого производится операция чтения в данный момент, воспользуйтесь функцией ftell.
boolean fflush(resource file)
Функция fflush сбрасывает любые буфера, связанные с дескриптором данного файла, возвращенным функцией fopen, fsockopen или popen. О том, как сбрасываются буфера, используемые для отправки данных в браузер, см. в разделах, посвященных функциям flush и ob_flush, главы 8, "Браузер ввода-вывода".
string fgetc(resource file)
Функция fgetc (листинг 9.10) возвращает один символ из файла. Она ожидает дескриптор файла, возвращаемый функцией fopen, fsockopen или popen. К функциям, предназначенным для чтения из файла, относятся также fgetcsv, fgets, fgetss,freadиgzgetc.
j Листинг 9.10. Функция fgetc_
<?php
// открыть файл и распечатать все символы, находящиеся в нем if($myFile = fopen("data.txt", "r"))
{
while(!feof($myFile))
{
$myCharacter = fgetc($myFile); print($myCharacter);
}
fclose($myFile);
}
?>
array fgetcsv(resource file, integer length, string separator)
Функция fgetcsv (листинг 9.11) используется для чтения данных из файла, разделенных запятой. Для нее требуются дескриптор файла, возвращаемый функцией fopen, fsockopen или popen, а также максимальная длина строки. Необязательный аргумент separator задает символ разделителя полей. Если его нет - используется запятая.
Поля могут браться в двойные кавычки, что позволяет задавать в полях запятые и разрывы строк. Возвращаемое значение - массив, содержащий в каждом элементе по полю, начиная с нулевого элемента.
j Листинг 9.11. Функция fgetcsv_
<?
// открыть файл
if($myFile = fopen("data.csv", "r"))
{
print("<table border="1">n");
while(!feof($myFile))
{
print("<tr>n");
$myField = fgetcsv($myFile, 1024); $fieldCount = count($myField); for($n=0; $n<$fieldCount; $n++)
{
print("t<td>");
print($myField[$n]);
print("</td>n");
}
print("</tr>n");
}
fclose($myFile); print("</table>n");
}
?>
string fgets(resource file, integer length)
Функция fgets (листинг 9.12) возвращает строку из файла, определенного дескриптором, возвращенным функцией fopen, fsockopen или popen. Он попытается прочесть из файла столько символов, сколько определено аргументом length, минус один. Если аргумент length не задан, по умолчанию принимается значение, равное 1024. Конечной точкой считаются символы перевода строки и конца файла. В возвращаемые строки включаются также и разрывы строк. Следует помнить, что в разных операционных системах используются различные символы перевода строк. Другими функциями, предназначенными для чтения из файла, являются fgetc, fgetcsv, fgetss,freadиgzgetc.
Листинг 9.12. Функция fgets
<?php
// открыть файл и распечатать каждую строку if($myFile = fopen("data.txt", "r"))
{
while(!feof($myFile))
{
$myLine = fgets($myFile, 255); print($myLine);
}
fclose($myFile);
}
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Операционная система. Часть Третья
28-12-2009
<< Предыдущая статья | Следующая статья >> |
PHP. Операционная система. Часть Вторая. | PHP. Операционная система. Часть Четвёртая. |