PHP 怎样读取文件?

知道91 | PHP | 2014-01-15 | 阅读:3313

在使用 php 进行编程的时候,我们常常需要处理一些外部资源,比如文件的处理。那么在 php 中是怎样

fopen() 函数用于在 PHP 中打开文件。该函数的第一个参数是要打开的文件的名称,第二个参数代表使用哪种模式来打开文件。看下面的例子:








例子所使用的第二个参数"r" 代表只读模式打开文件,就是说按这种方式打开的文件是只可读的。

php 中文件可以打开的模式如下表所示:

模式 描述
r 只读。在文件的开头开始。
r+ 读/写。在文件的开头开始。
w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+ 读/追加。通过向文件末端写内容,来保持文件内容。
x 只写。创建新文件。如果文件已存在,则返回 FALSE。
x+

读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。

如果 fopen() 不能打开指定的文件,下面的例子会生成一段消息:








关闭文件

fclose() 函数用于关闭打开的文件。当另一个流想试图打开还没有关闭的文件时会报错的,所以当一个文件打开后使用完毕就要关闭了。


检测文件的末端

feof() 函数用于检测是否已达到文件的末端 (EOF)。

在循环遍历未知长度的数据时,feof() 函数很有用。

ps:在 w 、a 以及 x 模式,您无法读取打开的文件!

if (feof($file)) echo "End of file";

逐行读取文件

fgets() 函数用于从文件中逐行读取文件。

ps:在调用该函数之后,文件指针会移动到下一行。

例子

下面的例子是逐行读取文件,直到文件末端为止:

";
  }
fclose($file);
?>

逐字符读取文件

fgetc() 函数用于从文件中逐字符地读取文件。

ps:在调用该函数之后,文件指针会移动到下一个字符。

例子

下面的例子是逐字符地读取文件:


注意读取完毕后使用fclose()函数关闭文件。