fpassthru

(PHP 4, PHP 5, PHP 7)

fpassthruВыводит все оставшиеся данные из файлового указателя

Описание

int fpassthru ( resource $handle )

Читает указанный файловый указатель с текущей позиции до EOF (конца файла) и записывает результат в буфер вывода.

Вам может понадобиться вызвать rewind() чтобы сбросить файловый указатель на начало файла, если вы уже записывали данные в файл.

Если вы хотите просто сбросить содержимое файла в буфер вывода, предварительно не модифицируя его и не начиная с определённого смещения, вы можете воспользоваться readfile(), которая избавит вас от лишнего вызова fopen().

Список параметров

handle

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытым функцией fclose()).

Возвращаемые значения

В случае возникновения ошибки fpassthru() возвращает FALSE. Иначе, fpassthru() возвращает количество символов, прочтенных из handle и переданных на вывод.

Примеры

Пример #1 Использование fpassthru() с бинарными файлами

<?php

// открываем файл в бинарном режиме
$name './img/ok.png';
$fp fopen($name'rb');

// отправляем нужные заголовки
header("Content-Type: image/png");
header("Content-Length: " filesize($name));

// скидываем картинку и останавливаем выполнение скрипта
fpassthru($fp);
exit;

?>

Примечания

Замечание:

При использовании fpassthru() на бинарном файле в Windows, вы должны убедиться в том, что открыли файл в бинарном режиме при помощи добавления b к режиму открытия файла, использованному в fopen().

Рекомендуется использовать флаг b при работе с бинарными файлами даже если ваша система этого не требует, чтобы обеспечить более высокую портируемость скриптов.

Смотрите также

  • readfile() - Выводит файл
  • fopen() - Открывает файл или URL
  • popen() - Открывает файловый указатель процесса
  • fsockopen() - Открывает соединение с интернет сокетом или доменным сокетом Unix