PHP 提供了豐富的文件系統函數,開發者常用於處理路徑、權限與群組管理。本文詳細介紹 basename()、chgrp()、chmod() 三個核心函數的語法、參數、返回值與實際應用範例。
功能: 從包含路徑的字串中移除目錄部分,僅返回檔案名稱。
語法: string basename(string $path)
說明: Windows 系統路徑分隔符可為正斜線(/)或反斜線(\),Unix/Linux 僅使用正斜線(/)。函數會自動識別並處理。
<?php
$path = "/home/httpd/html/index.php";
$file = basename($path); // $file 值為 "index.php"
?>
參考: dirname()
功能: 改變指定檔案的群組擁有權。
語法: int chgrp(string $filename, mixed $group)
說明: 僅超級用戶(root)可任意變更檔案群組;一般用戶僅能修改自己擁有的檔案。成功返回 true,失敗返回 false。Windows 系統下此函數不執行實際操作,直接返回 true。
參考: chown()、chmod()
功能: 設定檔案的存取權限(如讀、寫、執行)。
語法: int chmod(string $filename, int $mode)
重要提醒: mode 參數必須以八進位表示(前綴 0),否則 PHP 會將其視為十進位數值,導致權限設定錯誤。
<?php
// 錯誤:755 為十進位,實際權限不符預期
chmod("/mydir/myfile", 755);
// 正確:0755 為八進位,對應 rwxr-xr-x
chmod("/mydir/myfile", 0755);
?>
參考: chown()、chgrp()