fpassthru
fpassthru
(PHP 4, PHP 5, PHP 7)
fpassthru - 输出文件指针上的所有剩余数据
描述
int fpassthru ( resource $handle )
从当前位置读取给定文件指针上的EOF,并将结果写入输出缓冲区。
如果您已经将文件写入文件,则可能需要调用rewind()将文件指针重置为文件的开头。
如果您只是想将文件的内容转储到输出缓冲区,而不先修改或寻求特定的偏移量,则可能需要使用readfile(),这会节省您的fopen()调用。
参数
handle
文件指针必须是有效的,并且必须指向由fopen()或fsockopen()(并且尚未由fclose()关闭)成功打开的文件。
返回值
如果发生错误,fpassthru()
返回FALSE
。否则,fpassthru()
返回从handle
输出读取并传递到输出的字符数。
例子
Example#1在二进制文件中使用fpassthru()
<?php
// open the file in a binary mode
$name = './img/ok.png';
$fp = fopen($name, 'rb'
// send the right headers
header("Content-Type: image/png"
header("Content-Length: " . filesize($name)
// dump the picture and stop the script
fpassthru($fp
exit;
?>
注意
注意
:在Windows系统上的二进制文件上使用fpassthru()
时,应确保以二进制模式打开文件,方法是在调用fopen()时使用的模式附加b
。鼓励在处理二进制文件时使用b
标志,即使您的系统不需要它,以便您的脚本将更具可移植性。