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

# fpassthru

(PHP 4, PHP 5, PHP 7, PHP 8)

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

### Описание

function fpassthru(resource `$stream`): int

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

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

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

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

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

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

Возвращает количество символов, прочтённых из `stream` и переданных на вывод.

### Примеры

Пример #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-домена

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open