在 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);
注意:在使用這兩個函數之前,請確保已經正確打開了一個文件。