您的位置:首页 > 编程语言 > PHP开发

几个PHP读取整个文件的函数readfile()、fpassthru()和file()

2014-05-08 23:25 459 查看
2.7.4 读取整个文件:readfile()、fpassthru()和file()

除了可以每次读取文件一行外,还可以一次读取整个文件。PHP提供了4种不同的方式来读取整个文件。

第一种方式是readfile()。可以使用如下一行语句来代替前面所编写的所有脚本:

define('DOCPATH', dirname(__FILE__).'/');
echo readfile(DOCPATH.'form.class.php');


调用readfile()函数将打开这个文件,并且将文件内容输出到标准输出(浏览器)中,然后再关闭这个文件。readfile()的函数原型如下所示:



第二个可选参数指定了PHP是否应该在include_path中查找文件,这一点与fopen()函数一样。可选的context参数只有在文件被远程打开(例如通过HTTP)时才使用;我们将在第19章详细介绍这种用法。这个函数的返回值是从文件中读出的字节总数。

第二种方式是fpassthru()。要使用这个函数,必须先使用fopen()打开文件。然后将文件指针作为参数传递给fpassthru()。这样就可以把文件指针所指向的文件内容发送到标准输出。然后再将这个文件关闭。

可以使用如下代码替代前面的脚本:





如果读操作成功,fpassthru()函数将返回true,否则返回false。

第三种读取整个文件的函数是file()。除了可以将文件内容回显到标准输出外,它和readfile()是一样的,它是把结果发送到一个数组中。我们将在第3章介绍数组时详细介绍。作为参考,可以按如下方式调用它:



这行代码可以将整个文件读入到一个名为$filearray的数组中。文件中的每一行都将作为一个元素保存在这个数组中。

最后,在PHP 4.3.0中,还可以使用file_get_contents()函数。这个函数与readfile()相同,但是该函数将以字符串的形式返回文件内容,而不是将文件内容回显到浏览器中。这个新函数的优点在于,它是二进制安全的,这一点不同于file()函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐