文件读写是程序开发中最基本的操作之一。实际应用中,经常需要从文件中读取数据,或者向文件中写人数据,如分析日志数据和记录日志等。因此,作为编程的基本功之一,我们需要努力掌握文件处理相关的内容,并在实际应用中加强实践。
前面我们介绍了使用《fopen() 函数》打开一个文件,当文件打开以后,就可以读取其中的内容了。相对打开文件和关闭文件来说,从文件中读取数据要更复杂一些。利用 PHP 提供的文件处理函数可以读取一个字符、一行字串或者整个文件,也可以读取任意长度的字串。这些常用的函数如下表所示:
函数名 | 描述 |
---|---|
readfile() | 读入一个文件并写入到输出缓冲,出错则返回 FALSE |
file() | 将整个文件读入一个数组中,出错则返回 FALSE |
file_get_contents() | 将整个文件读入一个字符串,出错则返回 FALSE |
fgets() | 从文件指针中读取一行,出错则返回 FALSE |
fgetss() | 从文件指针中读取一行并过滤掉 HTML 和 PHP 标记,出错则返回 FALSE |
fgetc() | 从文件指针中读取一个字符,出错则返回 FALSE |
fread() | 从文件读取指定字节数的数据,出错则返回 FALSE |
在读取文件时,不仅要注意行结束符号\n,程序也需要一种标准的方式来识别何时到达文件的末尾,这个标准通常称为 EOF(End Of File)字符。
EOF 是非常重要的概念,几乎每种主流的编程语言中都提供了相应的内置函数,来解析是否到达了文件 EOF。在 PHP 中,我们可以使用 feof() 函数。该函数接受个打开的文件资源,判断一个文件指针是否位于文件的结束处,如果在文件末尾处则返回 TRUE。
下面来详细介绍一下如何使用 PHP 中的函数来读取文件内容。
在使用这些函数读取文件之前,我们需要先在服务器根目录下建立一个文本文件(这里我们以 text.txt 为例),并在文件中写入一些数据,如下所示: