ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# PHP fpassthru() 函数 ## 定义和用法 fpassthru() 函数输出文件指针处的所有剩余数据。 该函数将给定的文件指针从当前的位置读取到 EOF,并把结果写到输出缓冲区。 ### 语法 ``` fpassthru(file) ``` | 参数 | 描述 | | --- | --- | | file | 必需。规定要读取的打开文件或资源。 | ### 说明 如果发生错误, fpassthru() 返回 false。否则 fpassthru() 返回从 _file_ 读取并传递到输出的字符数目。 文件指针必须有效,并且必须指向一个由 [fopen()](/php/func_filesystem_fopen.asp "PHP fopen() 函数") 或 fsockopen() 成功打开(但还没有被 [fclose()](/php/func_filesystem_fclose.asp "PHP fclose() 函数") 关闭)的文件。 ## 提示和注释 提示:如果已经向文件写入数据,就必须调用 [rewind()](/php/func_filesystem_rewind.asp "PHP rewind() 函数") 来将文件指针指向文件头。 提示:如果既不修改文件也不在特定位置检索,只想将文件的内容下载到输出缓冲区,应该使用 [readfile()](/php/func_filesystem_readfile.asp "PHP readfile()"),这样可以省去 fopen() 调用。 注释:当在 Windows 系统中将 fpassthru() 用于二进制文件时,要确保在用 fopen() 打开文件时在 mode 中附加了 b 来将文件以二进制方式打开。鼓励在处理二进制文件时使用 b 标志,即使系统并不需要,这样可以使脚本的移植性更好。 ## 例子 ### 例子 1 ``` <?php $file = fopen("test.txt","r"); // 读取第一行 fgets($file); // 把文件的其余部分发送到输出缓存 echo fpassthru($file); fclose($file); ?> ``` 输出: ``` There are three lines in this file. This is the last line.59 ``` 注:59 指示被传递的字符数。 ### 例子 2 转储 www 服务器的 index 页: ``` <?php $file = fopen("http://www.example.com","r"); fpassthru($file); ?> ```