Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
ыстрее пары fgets()/explode(), но зато она, 
как мы можем видеть, гораздо менее универсальна. Применяйте ее в таком 
контексте: 
$f=fopen("file.csv","r") or die("Ошибка!"); 
for($i=0; $data=fgetcsv($f, 1000, ";"); $i++) { 
$num = count($data); 
if($num==1 && $data[0]==="") continue; 
echo "

Строка номер $i ($num полей):

"; for($c=0; $c<$num; $c++) print "[$c]: $data[$c]
"; } fclose($f); Положение указателя текущей позиции int feof(int $f) Возвращает true, если достигнут конец файла (то есть если указатель файла уста- новлен за концом файла). Эта функция чаще всего используется в следующем контексте: $f=fopen("myfile.txt","r"); while(!feof($f)) { $st=fgets($f); // теперь мы обрабатываем очередную строку $st // . . . Глава 15. Работа с файлами 253 } fclose($f); Лучше избегать подобных конструкций, т. к. в случае больших файлов они довольно медлительны. Лучше читайте файл целиком при помощи File() (см. ниже) или fread() — конечно, если вам нужен доступ к каждой строке этого файла, а не толь- ко к нескольким первым! int fseek(int $f, in $offset, int $whence=SEEK_SET) Устанавливает указатель файла на байт со смещением $offset (от начала файла, от его конца или от текущей позиции, в зависимости от параметра $whence). Это, впро- чем, может и не сработать, если дескриптор $f ассоциирован не с обычным локаль- ным файлом, а с соединением HTTP или FTP. Параметр $whence, как уже упоминалось, задает, с какого места отсчитывается сме- щение $offset. В PHP для этого существуют три константы, равные, соответствен- но, 0, 1 и 2: r SEEK_SET — устанавливает позицию начиная с начала файла; r SEEK_CUR — отсчитывает позицию относительно текущей позиции; r SEEK_END — отсчитывает позицию относительно конца файла. В случае использования последних двух констант параметр $offset вполне может быть отрицательным (а при применении SEEK_END он будет отрицательным наверня- ка). Как это ни странно, но в случае успешного завершения эта функция возвращает 0, а в случае неудачи -1. Почему так сделано — неясно. Наверное, по аналогии с ее Си- эквивалентом? int ftell(int $f) Возвращает положение указателя файла. Собственно, вот и все, что делает эта функ- ция. Функции для определения типов файлов Помимо уже рассмотренных, PHP имеет также набор вспомогательных (и весьма удоб- ных) функций для работы с файлами. Они отличаются тем, что работают не с файловыми идентификаторами, а непосредственно с их именами. Определение типа файла bool file_exists(string $filename) Часть IV. Стандартные функции PHP 254 Возвращает true, если файл с именем $filename существует на момент вызова. Используйте эту функцию с осторожностью! Например, следующий код никуда не годится с точки зрения безопасности: $fname="/etc/passwd"; if(!file_exists($fname) $f=fopen($fname,"w"); else $f=fopen($fname,"r"); Дело в том, что между вызовом file_exists() и открытием файла в режиме w про- ходит некоторое время, в течение которого другой процесс может "вклиниться" и "подменить" используемый нами файл. Сейчас это все кажется маловероятным, но данная проблема выходит на передний план при написании сценария счетчика. Мы еще остановимся на ней чуть позже. string filetype(string $filename) Возвращает строку, которая описывает тип файла с именем $filename. Если такого файла не существует, возвращает false. После вызова строка будет содержать одно из следующих значений: r file — обычный файл; r dir — каталог; r link — символическая ссылка; r fifo — fifo-канал; r block — блочно-ориентированное устройство; r char — символьно-ориентированное устройство; r unknown — неизвестный тип файла. Рассматриваемые ниже несколько функций представляют собой лишь надстройку для функции filetype(). В большинстве случаев они очень полезны, и пользоваться ими удобнее, чем последней. bool is_file(string $filename) Возвращает true, есл
 
<<-[Весь Текст]
Страница: из 287
 <<-