|
Последние активные темы форума |
|
fpassthru
(PHP 3, PHP 4 , PHP 5) fpassthru -- Выводит все оставшиеся данные из файлового указателя
Описаниеint fpassthru ( resource handle ) Читает указанный файловый указатель с текущей позиции до 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()
|