PHP
文件系统 | File System

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标志,即使您的系统不需要它,以便您的脚本将更具可移植性。