在 PHP 中,fgetc()
和 fread()
都是用于从文件中读取数据的函数,但它们之间存在一些差异:
返回值:
fgetc()
:该函数每次只返回文件中的一个字符。当读取到文件末尾时,它会返回 false
。fread()
:该函数可以一次读取多个字符。它返回读取到的字符数,如果已到达文件末尾,则返回 false
。文件指针位置:
fgetc()
:每次调用后,文件指针会自动移动到下一个字符。fread()
:文件指针的移动取决于您指定的读取字符数。如果您不指定字符数,那么文件指针会移动到下一次调用 fgetc()
或 fread()
时的位置。适用场景:
fgetc()
:适用于逐行读取文件或处理文本文件中的单个字符。fread()
:适用于读取较大块的数据,例如读取整个文件或处理二进制文件。示例:
$file = fopen("example.txt", "r");
// 使用 fgetc() 逐字符读取文件
while (($char = fgetc($file)) !== false) {
echo $char;
}
fclose($file);
// 使用 fread() 读取整个文件
$content = fread($file, filesize("example.txt"));
echo $content;
fclose($file);
注意:在使用这两个函数之前,请确保已经正确打开了一个文件。