Синтаксис:
int fputs(int $f, string $str)
fgetcsv
Функция для работы с одним из форматов файлов, в котором может сохранять данные Excel.
Синтаксис:
list fgetcsv(int $f, int $length, char $delim=",")
Функция читает строку из файла, заданного дескриптором $f , и разбивает ее по символу $delim . Параметр $delim должен обязательно быть строкой из одного символа, в противном случае принимается во внимание только первый символ этой строки. Функция возвращает получившийся список или false, если строки кончились. Параметр $length задает максимальную длину строки точно так же, как это делается в fgets(). Пустые строки в файле не игнорируются, а возвращаются как список из одного элемента - пустой строки.
Пример:
$f=fopen("file.csv","r") or die("Ошибка");
for($i=0; $data=fgetscsv($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);
Положение указателя текущей позиции
feof
Указатель конца файла.
Синтаксис:
int feof(int $f)
Возвращает true, если достигнут конец файла (то есть если указатель файла установлен за концом файла).
Пример:
$f=fopen("myfile.txt","r");
while(!feof($f))
{ $str=fgets($f);
// Обрабатываем очередную строку $str
}
fclose($f);
fseek
Устанавливает указатель файла на определенную позицию.
Синтаксис:
int fseek(int $f, int $offset, int $whence=SEEK_SET)
Устанавливает указатель файла на байт со смещением $offset (от начала файла, от его конца или от текущей позиции, в зависимости от параметра $whence ). Это может и не сработать, если дескриптор $f ассоциирован не с обычным локальным файлом, а с соединением HTTP или FTP.
Параметр $whence задает с какого места отсчитывается смещение $offset . В PHP для этого существуют три константы, равные, соответственно, 0, 1 и 2:
В случае использования последних двух констант параметр $offset вполне может быть отрицательным (а при применении SEEK_END он будет отрицательным наверняка). В случае успешного завершения эта функция возвращает 0, а в случае неудачи -1.
ftell
Возвращает положение указателя файла.
Синтаксис:
int ftell(int $f)
Функции для определения типов файлов
file_exists
Проверяет существование вызываемого файла.
Синтаксис:
bool file_exists(string filename)
Возвращает true, если файл с именем filename существует на момент вызова. Следует использовать эту функцию с осторожностью.
Например, следующий код никуда не годится с точки зрения безопасности:
if(!file_exists($fname))
$f=fopen($fname,"w");
else
$f=fopen($fname,"r");
Дело в том, что между вызовом file_exists()и открытием файла в режиме w проходит некоторое время, в течение которого другой процесс может вклиниться и подменить используемый нами файл. Данная проблема выходит на передний план при написании сценария счетчика.
Функция не работает с удаленными файлами, файл должен находиться в доступной для сервера файловой системе.
Результаты функции кэшируются, см. функцию clearstatcache().
filetype
Возвращает тип файла.
Синтаксис:
string filetype(string filename)
Возвращает строку, которая описывает тип файла с именем filename . Если такого файла не существует, возвращает false.
После вызова строка будет содержать одно из следующих значений:
is_file
Проверка существования обычного файла.
Синтаксис:
bool is_file(string filename)
Возвращает true, если filename - обычный файл.
is_dir
Проверка существования каталога.
Синтаксис:
bool is_dir(string filename)
Возвращает true, если каталог filename существует.
is_link
Проверка существования символической ссылки на файл.
Читать дальше