PHP文件操作函数汇总(附带实例)
在 PHP 实际开发中,经常涉及文件的相关操作,如文件的打开、修改等。下面对文件的相关操作进行讲解。
fopen() 函数的语法格式如下:
在表中,除“r”和“r+”模式外,在其他模式下,如果文件不存在,会尝试自动创建文件。
下面演示 fopen() 函数的使用方法,示例代码如下:
fwrite() 函数的语法格式如下:
下面演示 fwrite() 函数的使用方法:
该函数在读取到指定的字节数或读取到文件末尾时就会停止读取,并返回读取到的内容,读取失败时返回 false。
下面演示 fread() 函数的使用方法,示例代码如下:
file_put_contents() 函数用于在文件中写入内容。该函数执行成功返回写入到文件内数据的字节数,执行失败返回 false。其语法格式如下:
下面演示 file_get_contents() 函数和 file_put_contents() 函数的使用方法:
下面演示 unlink() 函数的使用方法,示例代码如下:
PHP打开文件
在 PHP 中,打开文件使用 fopen() 函数。该函数执行成功后返回资源类型的文件指针,用于其他操作。fopen() 函数的语法格式如下:
resource fopen( string $filename, string $mode[, bool $use_include_path = false[,resource $context ]] )
- $filename 表示要打开的文件的路径,可以是本地文件,也可以是 HTTP、HTTPS 或 FTP 的 URL 地址;
- $mode 表示文件打开的模式,常用的文件打开模式如下表所示。
模式 | 说明 |
---|---|
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 ] )
- $handle 表示文件指针;
- $string 表示要写入的字符串;
- $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 )
- $handle 表示文件指针;
- $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 ]] )
- $filename 指定要写入的文件的路径;
- $data 指定要写入的内容;
- $flags 指定写入选项,通常使用常量 FILE_APPEND 表示追加写入。
下面演示 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 文件删除。如果文件不存在,会出现警告。