说明
int 
fpassthru ( resource handle)
     将给定的文件指针从当前的位置读取到 EOF 并把结果写到输出缓冲区。
    
     如果发生错误, fpassthru() 返回 FALSE。
     否则 fpassthru() 返回从 handle
     读取并传递到输出的字符数目。
    
     文件指针必须有效,且必须指向由
     fopen(),popen() 或
     fsockopen() 成功打开的文件。
     如果已经向文件写入了数据,可能需要调用 rewind()
     来将文件指针指向文件头。当 fpassthru()
     完成读取后就会关闭文件(使 handle 失效)。
    
     如果既不修改文件也不在特定位置检索,只想将文件的内容下载到输出缓冲区,应该使用
     readfile(),这样可以省去
     fopen() 调用。
    
注: 
      当在 Windows
      系统中将 fpassthru()
      用于二进制文件时,要确保在用
      fopen()
      打开文件时在 mode 中附加了
      b 来将文件以二进制方式打开。
     
      鼓励在处理二进制文件时使用
      b
      标志,即使系统并不需要,这样可以使脚本的移植性更好。
     
     
| 例子 1. 对二进制文件使用 fpassthru() | 
<?php
 // open the file in a binary mode
 $name = ".\public\dev\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;
 
 ?>
 | 
 | 
    
     参见
     readfile(),fopen(),popen()
     和 fsockopen()。