Συνάρτηση fpassthru() PHP

Ορισμός και χρήση

Η συνάρτηση fpassthru() αποδίδει όλες τις υπόλοιπες δεδομένα στον δείκτη αρχείου.

η συνάρτηση αυτή θα διαβάσει τον δείκτη αρχείου από την τρέχουσα θέση μέχρι το EOF και θα γράψει τα αποτελέσματα στην περιοχή αποθήκευσης εξόδου.

σύνταξη

fpassthru(file)
παράμετροι περιγραφή
file απαιτείται. Καθορίζει το ανοιχτό αρχείο ή πόρο που πρέπει να διαβαστεί.

περιγραφή

αν συμβεί σφάλμα, η fpassthru() επιστρέφει false. Αν όχι, η fpassthru() επιστρέφει από file αποδίδει και παραδίδει στο κείμενο εξόδου τον αριθμό των χαρακτήρων.

το δείκτη αρχείου πρέπει να είναι έγκυρος και να δείχνει σε ένα αρχείο που έχει ανοίξει από fopen() ή fsockopen() ξάνοιξε επιτυχώς (αλλά δεν έχει ακόμα ανοίξει) 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);
?>