示範 fgetc、fgets、fread 搭配 filesize 的四種常見讀取模式,附檔案指標操作流程。
<?php
$fp = fopen('Test/file.txt', 'r');
echo fgetc($fp); // 讀取 1 字元,指標前移 1
fclose($fp);
?>
<?php
$fp = fopen('Test/file.txt', 'r');
echo fgets($fp); // 讀取至 \n 或 EOF
fclose($fp);
?>
<?php
$fp = fopen('Test/file.txt', 'r');
echo fread($fp, 20); // 讀取前 20 位元組
fclose($fp);
?>
<?php $file = 'Test/file.txt'; $fp = fopen($file, 'r'); $size = filesize($file); echo fread($fp, $size); fclose($fp); ?>
file_get_contents($file):一次讀取整檔案內容為字串(適合中小檔案)。file($file):將檔案按行讀入陣列,每行保留換行符。readfile($file):直接輸出至標準輸出(適合圖片/下載),回傳讀取位元組數。<?php
$fp = fopen('large.log', 'r');
while (($line = fgets($fp)) !== false) {
// 處理 $line
}
fclose($fp);
?>