PHP 文件打开/读取/关闭
在本章中,我们将教您如何打开、读取和关闭服务器上的文件。
PHP 打开文件 - fopen()
打开文件的更好方法是使用 fopen()
函数。此功能为您提供了比readfile()
功能。
我们将在课程中使用文本文件“webdictionary.txt”:
AJAX = 异步 JavaScript 和 XML
CSS = 层叠样式表
HTML = 超文本标记语言
PHP = PHP 超文本预处理器
SQL = 结构化查询语言
SVG = 可缩放矢量图形
XML = 可扩展标记语言
第一个参数 fopen()
包含要打开的文件的名称,第二个参数指定应以哪种模式打开文件。如果 fopen() 函数无法打开指定的文件,以下示例还会生成一条消息:
例子
<?php
$myfile = fopen("webdictionary.txt", "r") or die("无法打开文件!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>
运行示例 »
提示: 这fread()
和fclose()
下面将解释其功能。
该文件可以采用下列模式之一打开:
模式 | 描述 |
---|---|
r | 以只读方式打开文件. 文件指针从文件开头开始 |
瓦 | 打开文件以只写方式. 删除文件内容,如果文件不存在则创建新文件。文件指针从文件开头开始 |
A | 打开文件以只写方式. 文件中的现有数据被保留。文件指针从文件末尾开始。如果文件不存在,则创建一个新文件 |
X | 创建只写的新文件. 如果文件已存在,则返回 FALSE 和错误 |
r+ | 打开文件进行读/写. 文件指针从文件开头开始 |
w+ | 打开文件进行读/写. 删除文件内容,如果文件不存在则创建新文件。文件指针从文件开头开始 |
a+ | 打开文件进行读/写. 文件中的现有数据被保留。文件指针从文件末尾开始。如果文件不存在,则创建一个新文件 |
十+ | 创建用于读/写的新文件. 如果文件已存在,则返回 FALSE 和错误 |
PHP 读取文件 - fread()
这 fread()
函数从打开的文件中读取。
第一个参数 fread()
包含要读取的文件的名称,第二个参数指定要读取的最大字节数。
以下 PHP 代码读取“webdictionary.txt”文件直至末尾:
fread($myfile,文件大小("webdictionary.txt"));
PHP 关闭文件 - fclose()
这 fclose()
函数用于关闭一个打开的文件。
在使用完所有文件后将其关闭是一种很好的编程习惯。您肯定不希望打开的文件在服务器上运行并占用资源!
这 fclose()
需要我们要关闭的文件的名称(或包含文件名的变量):
<?php
$myfile = fopen("webdictionary.txt", "r");
// 一些要执行的代码....
fclose($myfile);
?>
PHP 读取单行 - fgets()
这 fgets()
函数用于从文件中读取单行。
下面的示例输出“webdictionary.txt”文件的第一行:
例子
<?php
$myfile = fopen("webdictionary.txt", "r") or die("无法打开文件!");
回显 fgets ($myfile);
fclose($myfile);
?>
运行示例 »
笔记: 致电fgets()
函数中,文件指针已经移动到下一行。
PHP 检查文件末尾 - feof()
这 feof()
函数检查是否已到达“文件末尾”(EOF)。
这 feof()
函数对于循环遍历长度未知的数据很有用。
下面的示例逐行读取“webdictionary.txt”文件,直到到达文件末尾:
例子
<?php
$myfile = fopen("webdictionary.txt", "r") or die("无法打开文件!");
// 输出一行直到文件结束
while(!feof($myfile)) {
回显 fgets ($myfile)。<br> “;
}
fclose($myfile);
?>
运行示例 »
PHP 读取单个字符 - fgetc()
这 fgetc()
函数用于从文件中读取单个字符。
下面的例子逐个字符地读取“webdictionary.txt”文件,直到到达文件末尾:
例子
<?php
$myfile = fopen("webdictionary.txt", "r") or die("无法打开文件!");
// 输出一个字符直到文件末尾
while(!feof($myfile)) {
回显 fgetc ($myfile);
}
fclose($myfile);
?>
运行示例 »
笔记: 致电fgetc()
函数,文件指针移动到下一个字符。
完整的 PHP 文件系统参考
有关文件系统函数的完整参考,请访问我们的完整 PHP 文件系统参考.