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 | 以只读方式打开文件。文件指针从文件开头开始。 |
w | 以只写方式打开文件。擦除文件的内容或在文件不存在的情况下创建一个新文件。文件指针从文件开头开始。 |
a | 以只写方式打开文件。保留文件中的现有数据。文件指针从文件末尾开始。如果文件不存在,则创建一个新文件。 |
x | 创建一个新的只写文件。如果文件已存在,则返回 FALSE 和错误。 |
r+ | 以读/写方式打开文件。文件指针从文件开头开始。 |
w+ | 以读/写方式打开文件。擦除文件的内容或在文件不存在的情况下创建一个新文件。文件指针从文件开头开始。 |
a+ | 以读/写方式打开文件。保留文件中的现有数据。文件指针从文件末尾开始。如果文件不存在,则创建一个新文件。 |
x+ | 创建一个新的读/写文件。如果文件已存在,则返回 FALSE 和错误。 |
PHP 读取文件 - `fread()`
函数 fread()
从打开的文件中读取数据。
函数 fread()
的第一个参数包含要从中读取数据的文件的名称,第二个参数指定要读取的最大字节数。
以下 PHP 代码将 "webdictionary.txt" 文件读取到末尾
fread($myfile,filesize("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("无法打开文件!");
echo fgets($myfile);
fclose($myfile);
?>
运行示例 »
注意: 调用函数 fgets()
后,文件指针将移动到下一行。
PHP 检查文件结尾 - `feof()`
函数 feof()
检查是否已到达 "文件结尾" (EOF)。
函数 feof()
对循环遍历长度未知的数据非常有用。
以下示例逐行读取 "webdictionary.txt" 文件,直到到达文件结尾
示例
<?php
$myfile = fopen("webdictionary.txt", "r") or die("无法打开文件!");
// 输出一行,直到到达文件结尾
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
运行示例 »
PHP 读取单个字符 - `fgetc()`
函数 fgetc()
用于从文件读取单个字符。
以下示例逐个字符读取 "webdictionary.txt" 文件,直到到达文件结尾
示例
<?php
$myfile = fopen("webdictionary.txt", "r") or die("无法打开文件!");
// 输出一个字符,直到到达文件结尾
while(!feof($myfile)) {
echo fgetc($myfile);
}
fclose($myfile);
?>
运行示例 »
注意: 调用函数 fgetc()
后,文件指针将移动到下一个字符。
完整的 PHP 文件系统参考
有关文件系统函数的完整参考,请访问我们完整的 PHP 文件系统参考.