fopen() 函数用于打开一个文件,可以读取文件内容或写入新内容。该函数需要两个参数:文件名和打开模式(只读、写入、追加等)。例如,下面的代码打开一个文件并逐行读取内容:
$file = fopen("example.txt", "r");
while (!feof($file)) {
echo fgets($file)."";
}
fclose($file);
这里使用了 while 循环配合 fgets() 函数逐行读取文件,feof() 用于检测是否已到文件末尾,fclose() 则用于关闭文件句柄。
如果需要一次性读取整个文件内容,可以使用 fread() 函数。该函数需要文件句柄和读取的字节数作为参数,如下示例:
$file = fopen("example.txt", "r");
echo fread($file, filesize("example.txt"));
fclose($file);
代码先通过 filesize() 获取文件大小,再用 fread() 读取指定字节数内容。
file() 函数将文件每一行读入数组,适合需要逐行处理文本文件的场景。示例如下:
$file = file("example.txt");
foreach ($file as $line) {
echo $line."";
}
通过 foreach 循环遍历数组,输出每一行内容。
file_get_contents() 是读取整个文件最简单快捷的方法,返回文件内容字符串。示例如下:
$file = file_get_contents("example.txt");
echo $file;
函数直接返回文件内容,适合快速读取小文件。
fwrite() 用于向文件写入数据,需传入文件句柄和写入字符串。示例代码:
$file = fopen("example.txt", "w");
fwrite($file, "Hello World!");
fclose($file);
使用 "w" 模式打开文件时会覆盖原内容,如需追加内容可使用 "a" 模式。
file_put_contents() 是向文件写入字符串的简便方法,传入文件名和写入内容即可,如:
file_put_contents("example.txt", "Hello World!");
如果文件不存在,函数会自动创建新文件。
PHP 提供多种文件读写函数,常用的包括 fopen()、fread()、file()、file_get_contents() 用于读取,fwrite() 和 file_put_contents() 用于写入。使用时需注意文件权限设置,避免因权限不足导致操作失败。一般建议优先使用 file_get_contents() 和 file_put_contents(),它们代码简洁、执行效率高,且易于维护。