檔案操作是 PHP 後端開發的基本功。本文系統整理 fstat、fread、file_get_contents、fwrite、file_put_contents、copy、mkdir、unlink、rmdir、parse_ini_file 等核心函式用法,並提供實戰範例。
fstat()$fp = fopen("test.php", "a+");
$info = fstat($fp);
echo "檔案大小:{$info['size']} bytes
";
echo "最後修改時間:" . date("Y-m-d H:i:s", $info['mtime']);
fclose($fp);
fread($fp, filesize($path))file_get_contents($path)$buffer = 1024; $count = 0;
while (!feof($fp) && $count < filesize($path)) {
$data = fread($fp, $buffer);
$count += $buffer;
echo $data; // 或輸出至瀏覽器下載
}
$fp = fopen("test.txt", "a+"); // a+ 追加,w+ 覆蓋
fwrite($fp, "Hello!\r\n");
fclose($fp);
FILE_APPEND 旗標):file_put_contents("test.txt", "北京你好!\r\n", FILE_APPEND);
// db.ini
host=192.168.0.1
admin=admin
password=123456
// PHP
$config = parse_ini_file("db.ini");
print_r($config); // 陣列形式取得設定值
if (copy("E:\\test.txt", "D:\\1.txt")) echo "success"; else echo "fail";
// 多層目錄
$path = "E:\\happy\\aaa\\bbb";
if (!is_dir($path)) mkdir($path, 0777, true); // 第三參數 true 遞歸建立
// 建立檔案並寫入
$fp = fopen("E:\\happy.txt", "w+");
fwrite($fp, "hello");
fclose($fp);
// 刪除檔案
if (is_file("E:\\happy.txt")) unlink("E:\\happy.txt");
// 刪除空目錄
rmdir("E:\\happy\\aaa\\bbb"); // 僅能刪除空目錄
mkdir(..., true) 遞歸建立。rmdir。parse_ini_file 適合簡單設定檔,複雜結構建議改用 JSON 或 YAML。