加入收藏 | 设为首页 | 会员中心 | 我要投稿 武陵站长网 (https://www.50888.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP文件处理—如何读取文件(一行,整个文件)

发布时间:2022-11-16 19:05:51 所属栏目:PHP教程 来源:未知
导读: PHP文件处理—如何读取文件(一行,整个文件)
相对打开和关闭文件来说,读写文件更复杂一些。这里主要从读取数据和写入数据两方面进行讲解。
那么在上一篇文章《PHP文件处理—打开和关闭文

PHP文件处理—如何读取文件(一行,整个文件)

相对打开和关闭文件来说,读写文件更复杂一些。这里主要从读取数据和写入数据两方面进行讲解。

那么在上一篇文章《PHP文件处理—打开和关闭文件》中介绍了打开和关闭文件,打开文件是所有操作文件的前提,而关闭是所有操作文件的结尾,那么我们今天就给来介绍如何读取文件!

从文件中读取数据

从文件中读取数据,可以读取一个字符、一行字符串或者是整个文件PHP文件,还可以读取指定长度的字串。

1.读取整个文件:readfile()、flie()以及file_get_contents()三个函数,下面我们将一一介绍!

readfile()函数

readfile()函数用于读入一个文件并且将其写入到输出缓冲,如果出现错误则返回 false。 函数语法格式如下:

int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )

登录后复制

使用 readfile()函数,不需要打开文件和关闭文件,也不需要 echo ,print等输出语句,直接先写出文件路径就可以了。

flie()函数

flie()函数也可以读取整个文件的内容,只是 file()函数将文件内容按行存放到数组中,包括换行符在内,如果读取失败则返回 false。函数的语法格式如下:

array file ( string $filename [, int $flags = 0 [, resource $context ]] )

登录后复制

file_get_contents()函数

file_get_contents()函数将文件的内容(fliename)读入到一个字符串中。如果没有 offset 和 maxlen参数 ,将从参数offset所指定的位置开始读取长度为 maxlen的一个字符串。如果读取失败那么就会返回false。函数语法格式如下;

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )

登录后复制

该函数适用于二进制文件,是讲整个文件的内容读入到一个字符串中的首选方法。

下面的实例就是使用上面的三个函数分读取文件内容,具体代码如下:



使用 readfile()函数读取文件内容: <?php readfile("tm.txt");?>
使用 file()函数读取文件内容: <?php $f_arr = file("tm.txt"); foreach ($f_arr as $cont){ echo $cont."
"; } ?>
使用flie_get_contents()函数读取文件内容: <?php $f_chr = file_get_contents("tm.txt"); echo $f_chr; ?>

登录后复制

输出结果为:

20.png

2.读取一行数据:fgets()函数和fgetss()函数

(1) fgets()函数

fgets()函数用于一次读取一行数据。函数语法格式如下:

string fgets ( resource $handle [, int $length ] )

登录后复制

参数 handle 是被读取的文件,参数length是要读取的数据长度。函数能够实现从 handle 指定文件中读取一行并返回长度最大值为 length-1 个字节的字符串。在于带换行符,EOF 或者读取了 length-1 个自己后停止。如果忽略 length-1 参数,那么读取数据直到行结束。

(2)fgetss()函数

fgetss()函数是fgets()函数的变体,用于读取一行数据。同事,fgetss()函数会过滤掉被读取内容中的 HTML 和 PHP标记。函数语法格式如下:

string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )

登录后复制

该函数能够从读取的文件中过滤掉任何 html 和 PHP 标记,可以使用 allowable_tags 参数来控制哪些标记不被过滤掉。

下面实例使用上面那个函数分别读取一个文件,并显示出来。观察它们有什么区别。具体代码如下:



使用fgets()函数: <?php $fopen = fopen("1.php","rb"); while (!feof($fopen)){ echo fgets($fopen); } fclose($fopen); ?>
使用 fgetss()函数: <?php $fopen = fopen("1.php","rb"); while (!feof($fopen)){ echo fgetss($fopen); } fclose($fopen); ?>

登录后复制

输出结果为:

21.png

本篇介绍了两种读取文件的方法,一个是读取整个文件,一个是读取一行数据的,在下面一篇文章我将介绍读取一个字符和指定长度的字串,具体内容请阅读《PHP文件处理—读取文件(一个字符,字串)》!

以上就是PHP文件处理—如何读取文件(一行,整个文件)的详细内容,更多请关注php中文网其它相关文章!

php引用php文件_php嵌套文件引用文件不存在_PHP文件

(编辑:武陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!