PHP中文件操作常用fopen、fclose、file_get_contents、file_put_contents等函数,需注意打开模式与安全权限。

在PHP中,文件的读取和写入是常见的操作,适用于日志记录、配置文件处理、数据存储等场景。掌握基本的文件操作方法非常实用。下面介绍几种常用的文件读取和写入方式。
打开和关闭文件
使用 fopen() 函数可以打开一个文件,它返回一个文件指针资源,后续操作基于该指针进行。
语法:
fopen(文件路径, 打开模式)
常用打开模式:
- r:只读,文件必须存在
- w:写入,清空文件内容,不存在则创建
- a:追加,写入内容添加到文件末尾
- r+:读写,文件必须存在
- w+:读写,清空原内容
- a+:读和追加,保留原内容
操作完成后,使用 fclose($handle) 关闭文件,释放资源。
立即学习“PHP免费学习笔记(深入)”;
读取文件内容
有多种方式读取文件内容,根据需求选择合适的方法:
Perl 基础入门中文教程,chm格式,讲述PERL概述、简单变量、操作符、列表和数组变量、文件读写、模式匹配、控制结构、子程序、关联数组/哈希表、格式化输出、文件系统、引用、面向对象、包和模块等知识点。适合初学者阅读和了解Perl脚本语言。
- file_get_contents($filename):一次性读取整个文件内容为字符串,简单高效。适合小文件。
- fread($handle, $length):从已打开的文件指针读取指定长度的数据,常配合 fopen 使用。
- file($filename):将文件每一行读入数组,适合按行处理文本。
示例:
$content = file_get_contents('data.txt');
echo $content;
写入或追加内容
向文件写入数据时,注意选择正确的打开模式:
- file_put_contents($filename, $data):最简单的方式,自动处理打开、写入、关闭。如果文件存在会覆盖内容。
- fwrite($handle, $data) 或 fputs($handle, $data):向已打开的文件写入数据。
- 使用模式 a 可实现追加,避免覆盖原有内容。
示例(追加日志):
$fp = fopen('log.txt', 'a');
fwrite($fp, date('Y-m-d H:i:s') . ' - 操作记录\n');
fclose($fp);
注意事项与安全建议
文件操作需谨慎,避免权限问题或安全漏洞:
- 确保PHP有读写权限(尤其是Linux服务器上检查文件所有者)
- 使用 is_readable() 和 is_writable() 判断文件状态
- 避免用户直接控制文件路径,防止目录遍历攻击(如 ../ 路径)
- 大文件建议逐行读取(fgets),避免内存溢出
基本上就这些。熟练使用 fopen、fread、fwrite、file_get_contents 和 file_put_contents,就能应对大多数文件操作需求。关键是理解不同模式的区别和适用场景。










