手册目录

PHP课程

浏览10493
更新时间2025-08-06

PHP 打开文件 - fopen()

打开文件的更好方法是使用 fopen() 函数。此函数比 readfile() 函数提供了更多的选项。

我们将在课程中使用文本文件 "webdictionary.txt":

  • AJAX = Asynchronous JavaScript and XML
  • CSS = Cascading Style Sheets
  • HTML = Hyper Text Markup Language
  • PHP = PHP Hypertext Preprocessor
  • SQL = Structured Query Language
  • SVG = Scalable Vector Graphics
  • XML = EXtensible Markup Language

fopen() 的第一个参数包含要打开的文件名,第二个参数指定以哪种模式打开文件。下面的例子还会在 fopen() 函数无法打开指定文件时生成一条消息:

实例

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
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("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>

运行实例

注意:在调用 fgets() 函数后,文件指针已移至下一行。

PHP 检查文件末尾 - feof()

feof() 函数检查是否已达到“文件末尾”(EOF)。

feof() 函数对于循环遍历未知长度的数据很有用。

下例逐行读取 "webdictionary.txt" 文件,直到达到文件末尾:

实例

<?php
$myfile = fopen("webdictionary.txt", "r") or die("无法打开文件!");
// Output one line until end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

运行实例

PHP 读取单个字符 - fgetc()

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

下例逐字符读取 "webdictionary.txt" 文件,直到达到文件末尾:

实例

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one character until end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

运行实例

注意:在调用 fgetc() 函数后,文件指针移至下一个字符。

完整的 PHP 文件系统参考手册

如需获取文件系统函数的完整参考,请查看我们的完整 PHP 文件系统参考手册。

相关视频

更多

免费

php8,我来也
初级php8,我来也

321764次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382419次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

282748次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13415次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时 | 62.5万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时 | 39.7万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时 | 73.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号