Справочник по PHP : Файлы и сети : Работа с файлами : Чтение и запись

Материал из Справочник Web-языков.

Перейти к: навигация, поиск
Главная  ::. PHP  ::. Файлы и сети  ::. Работа с файлами  ::. Чтение и запись

Содержание

[править] fread

Читает из открытого файла определенное количество символов.

Синтаксис:

string fread(int $f, int $numbytes)

Читает из файла $f $numbytes символов и возвращает строку этих символов. После чтения указатель файла продвигается к следующему после прочитанного блока позициям. Если $numbytes больше, чем можно прочитать из файла, возвращается то, что удалось считать. Этот прием можно использовать, если вам нужно считать в строку файл целиком. Для этого просто задайте в $numbytes очень большое число. Но если вы заботитесь об экономии памяти в системе, так поступать не рекомендуется.

[править] fwrite

Запись в файл.

Синтаксис:

int fwrite(int $f, string $str)

Записывает в файл $f все содержимое строки $str. Эта функция составляет пару для fread(), действуя "в обратном направлении".

При работе с текстовыми файлами (то есть когда указан символ t в режиме открытия файла) все n автоматически преобразуются в тот разделитель строк, который принят в вашей операционной системе.

[править] fgets

Читает из файла одну строку, заканчивающуюся символом новой строки n.

Синтаксис:

string fgets(int $f, int $length)

Этот символ также считывается и включается в результат. Если строка в файле занимает больше $length-1 байтов, то возвращаются только ее $length-1 символов. Функция полезна, если вы открыли файл и хотите "пройтись" по всем ее строкам. Однако даже в этом случае (и быстрее) будет воспользоваться функцией File(). Стоит также заметить, что эта функция (как и функция fread()) в случае текстового режима в Windows заботиться о преобразовании пар \r\n в один символ \n.

[править] fputs

Полный аналог fwrite().

Синтаксис:

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($f1000";"); $i++) {
  
$num count($data);
  if(
$num==&& $data[0]==="") continue;
  echo 
"<h3>Строка номер $i ($num полей):</h3>";
  for(
$c=0$c<$num$c++)
    print 
"[$c]: $data[$c]<br>";
}
fclose($f);
Личные инструменты
1.51252388954