ТОП-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 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);
}
?>

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



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