Приглашаем посетить
Древнерусская литература (drevne-rus-lit.niv.ru)

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

Назад Содержание Вперед