首页 > 编程笔记 > PHP笔记 阅读:13

PHP文件操作函数汇总(附带实例)

在 PHP 实际开发中,经常涉及文件的相关操作,如文件的打开、修改等。下面对文件的相关操作进行讲解。

PHP打开文件

在 PHP 中,打开文件使用 fopen() 函数。该函数执行成功后返回资源类型的文件指针,用于其他操作。

fopen() 函数的语法格式如下:
resource fopen( string $filename, string $mode[, bool $use_include_path = false[,resource $context ]] )

表:常用的文件打开模式说明
模式 说明
r 只读方式打开,将文件指针指向文件头
r+ 读写方式打开,将文件指针指向文件头
w 写入方式打开,将文件大小截为零,并从文件开头写入数据
w+ 读写方式打开,将文件大小截为零,并从文件开头读写数据
a 写入方式打开,将文件指针指向末尾
a+ 读写方式打开,将文件指针指向末尾
x 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败,返回 false,并生成 E_WARNING 级别的错误信息
x+ 创建并以读写方式打开,其他行为和“x”相同

在表中,除“r”和“r+”模式外,在其他模式下,如果文件不存在,会尝试自动创建文件。

下面演示 fopen() 函数的使用方法,示例代码如下:
$f1 = fopen('test1.html', 'r');
$f2 = fopen('test2.html', 'w');
在上述示例代码中,第行代码使用 fopen() 函数以只读方式打开文件,第行代码使用 fopen() 函数以写入方式打开文件。

PHP修改文件

修改文件包括修改文件的名称和修改文件的内容。其中,修改文件的名称使用 rename() 函数即可实现。此处主要讲解如何使用 fwrite() 函数修改文件的内容。

fwrite() 函数的语法格式如下:
int fwrite( resource $handle, string $string[, int $length ] )

下面演示 fwrite() 函数的使用方法:
$f3 = fopen('test3.html', 'w');
fwrite($f3, '<html><body>Hello world<body></html>');
fclose($f3);
执行上述代码后,将打开 test3.html。

PHP读取文件

使用 fopen() 函数打开文件后,可通过 fread() 函数进行文件读取操作,其语法格式如下:
string fread( resource $handle, int $length )

该函数在读取到指定的字节数或读取到文件末尾时就会停止读取,并返回读取到的内容,读取失败时返回 false。

下面演示 fread() 函数的使用方法,示例代码如下:
$filename = 'test3.html';
$f3 = fopen($filename, 'r');
$data = fread($f3, filesize($filename));
echo $data;       // 输出内容: <html><body>Hello world<body></html>
fclose($f3);
在上述示例代码中,使用 fread() 函数读取文件内容,通过 filesize() 函数计算文件的大小,将 test3.html 中的内容全部读取出来。

PHP读取和写入文件内容

file_get_contents() 函数用于将文件的内容全部读取到一个字符串中,其语法格式如下:
string file_get_contents( string $filename[, bool $use_include_path = false [,resource $context[, int $offset = 0[, int $maxlen ]]]] )
$filename 指定要读取的文件的路径,其他参数不常用。函数执行成功会返回读取到的内容。

file_put_contents() 函数用于在文件中写入内容。该函数执行成功返回写入到文件内数据的字节数,执行失败返回 false。其语法格式如下:
int file_put_contents( string $filename, mix $data[, int $flags = 0[, resource $context ]] )

下面演示 file_get_contents() 函数和 file_put_contents() 函数的使用方法:
$filename = 'test3.html';
$content = file_get_contents($filename);
echo $content;   // 输出内容: <html><body>Hello world<body></html>
// 文件内容不会改变,默认覆盖原文件内容
$str = '<html><body>Hello world<body></html>';
file_put_contents($filename, $str);
// 追加内容
file_put_contents($filename, $str, FILE_APPEND);
第 6 行代码执行后,原文件内容不会改变,默认覆盖原文件中的内容;第 8 行代码指定写入方式为追加,代码执行完毕后,查看 test3.html 中的内容,如果出现两组 <html> 标签,表示已将内容写入文件中。

PHP删除文件

使用 unlink() 函数删除文件。该函数执行成功返回 true,执行失败返回 false。其语法格式如下:
bool unlink( string $filename[, resource $context ] )
$filename 表示要删除的文件的路径。

下面演示 unlink() 函数的使用方法,示例代码如下:
unlink('./test2.html');
执行上述代码后,会将当前目录下的 test2.html 文件删除。如果文件不存在,会出现警告。

相关文章