PHP 打开文件

2025年04月17日 | 阅读 4 分钟

PHP 的 fopen() 函数用于打开文件或 URL,并返回一个资源。fopen() 函数接受两个参数:$filename 和 $mode。$filename 表示要打开的文件,$mode 表示文件的模式,例如只读、读写、只写等。

本文将介绍 fopen() 函数的语法以及每种文件模式,并提供实际用例。

语法

一个名为 $filename 的字符串表示指向目标文件的路径地址。文件路径可以是绝对路径或相对路径,而 $mode字符串 的形式定义文件打开模式。文件打开过程的执行通过不同的模式进行控制。$use_include_path 接受一个可选的 布尔值。该函数通过 $use_include_path 布尔标志启用包含路径文件搜索。$context 表示一个流资源,它控制额外的 函数。这也是一个可选参数。

PHP 打开文件模式

众数描述
r只读模式打开文件。文件指针会放置在文件开头。
r+读写模式打开文件。文件指针会放置在文件开头。
w只写模式打开文件。文件指针会放置在文件开头,并将文件截断为零长度。如果文件不存在,则会创建一个新文件。
w+读写模式打开文件。文件指针会放置在文件开头,并将文件截断为零长度。如果文件不存在,则会创建一个新文件。
a只写模式打开文件。文件指针会放置在文件末尾。如果文件不存在,则会创建一个新文件。
a+读写模式打开文件。文件指针会放置在文件末尾。如果文件不存在,则会创建一个新文件。
x只写模式创建并打开文件。文件指针会放置在文件开头。如果文件已存在,fopen() 函数将返回 FALSE。
x+与 x 模式相同,但它以读写模式创建并打开文件。
c只写模式打开文件。如果文件不存在,则会被创建。如果文件已存在,则不会被截断(与 'w' 不同),并且该函数调用也不会失败(与 'x' 的情况相反)。文件指针位于文件开头。
c+与 c 模式相同,但它以读写模式打开文件。

PHP 打开文件示例

示例 1

立即执行

输出

(File opens successfully if it exists, otherwise an error occurs.)

说明

该程序尝试通过 r 模式设置来读取 file.txt。文件指针从文件开头开始定位。当文件不存在时,代码会激活错误处理过程。

示例 2

立即执行

输出

Hello, World!

说明

该代码语句使用 w 模式打开 example.txt 进行写入。无论文件是否已存在,程序都会在写入 "Hello World!" 之前清空该文件。如果文件不存在,程序会创建一个新文件。

示例 3

立即执行

输出

Hello, World!

说明

程序通过 fread() 访问 example.txt 进行读取并加载所有内容。filesize() 用于确定文件大小。文件关闭后会释放可用资源。

示例 4

立即执行

输出

This is an appended text (added to the end of 'example.txt')

说明

该脚本通过追加模式 ('a' 模式) 打开 example.txt。新内容将添加到文件末尾,而现有信息保持不变。

示例 5

立即执行

输出(如果 'newfile.txt' 不存在)

This is a new file.

输出(如果 'newfile.txt' 存在)

File already exists!

说明

x 模式保证创建新文件。由于文件已存在,fopen() 函数在此过程中会产生失败,并出现一个通知,表明文件已存在。

示例 5

立即执行

输出

Log entry: 2025-03-29 14:37:22

说明

该应用程序使用 c+ 模式打开 log.txt,因为它允许在不丢失先前内容的情况下进行文件读写。当检测到文件不存在时,程序会创建该文件。此功能有助于正确维护日志文件。

结论

PHP 提供了基本的 fopen() 函数,供 开发人员 进行高效的文件处理活动,实现文件的读写和修改。正确的模式选择对于避免在文件操作期间意外丢失或损坏数据至关重要。fopen() 命令为程序员提供了读取现有文件、创建新文件或执行追加操作所需的所有灵活性。


下一主题PHP 读取文件