(PHP 4, PHP 5)
fpassthru — Выводит все оставшиеся данные из файлового указателя
Читает указанный файловый указатель с текущей позиции до EOF (конца файла) и записывает результат в буфер вывода.
Если происходит ошибка, fpassthru() возвращает FALSE. В ином случае, fpassthru() возвращает количество символов, прочтнных из handle и переданных на вывод.
Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen().
Вам может понадобиться вызвать rewind() чтобы сбросить файловый указатель на начало файла, если вы уже записывали данные в файл.
Если вы хотите просто сбросить содержимое файла в буфер вывода, предварительно не модифицируя его и не начиная с определённого смещения, вы можете пожелать использовать readfile(), которая избавит вас от лишнего вызова fopen().
Замечание: Во время использования fpassthru() на бинарном файле в сисиемах Windows, вы должны убедиться в том, что открыли файл в бинарном режиме при помощи добавления b к режиму открытия файла, использованному в fopen().
Рекомендуется использовать флаг b при работе с бинарными файлам даже если ваша система этого не требует, чтобы обеспечить более высокую портируемость скриптов.
Пример #1 Использование fpassthru() с бинарными файлами
<?php
// открываем файл в бинарном режиме
$name = ".\public\dev\img\ok.png";
$fp = fopen($name, 'rb');
// отправляем нужные заголовки
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
// скидываем картинку и останавливаем выполнение скрипта
fpassthru($fp);
exit;
?>
См. также описание функций readfile(), fopen(), popen() и fsockopen()