PHP fpassthru() -funktio

Määrittely ja käyttö

fpassthru() -funktio palauttaa kaikki tiedostoviittajan sijainnissa olevat jäljellä olevat tiedot.

Tämä funktio lukee annetun tiedostoviittajan nykyisestä sijainnista EOF:een asti ja kirjoittaa tuloksen ulostulobufferiin.

Syntaksi

fpassthru(tiedosto)
Parametrit Kuvaus
tiedosto Välttämätön. Määrittää avattavan tiedoston tai resurssin.

Selitys

Jos virhe tapahtuu, fpassthru() palauttaa false. Muuten fpassthru() palauttaa tiedosto luettu ja siirrettävä ulostuloon merkkien määrä.

tiedostoviittaja on oltava voimassa oleva ja se on oltava osoittamaan fopen() Tai fsockopen() onnistuu avataan (mutta ei ole vielä fclose() 关闭)的文件。

提示和注释

提示:如果已经向文件写入数据,就必须调用 rewind() 来将文件指针指向文件头。

提示:如果既不修改文件也不在特定位置检索,只想将文件的内容下载到输出缓冲区,应该使用 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);
?>