首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 檔案系統操作完整指南

     編輯:PHP 相關知識

前言

PHP 提供豐富的檔案系統函式,不僅能開啟、讀寫檔案,還能列出目錄內容、移動、複製檔案等。許多開發者甚至以此打造出功能完整的 Web 檔案管理器。本文將系統整理常用操作並提供實用範例。

路徑分隔符相容性

Windows 同時支援正斜線 / 與反斜線 \,但 Linux/Unix 僅支援 /。為確保跨平台相容,建議統一使用正斜線 / 作為路徑分隔符。

目錄列表示例

$dir_name = "/home/me/";
$dir = opendir($dir_name);
$file_list = "<ul>";

while ($file_name = readdir($dir)) {
    if ($file_name != "." && $file_name != "..") {
        $file_list .= "<li>$file_name</li>";
    }
}
$file_list .= "</ul>";
closedir($dir);

echo "Files in: $dir_name";
echo $file_list;

注意:執行 PHP 的使用者必須對目標目錄擁有讀取權限,否則 opendir() 會失敗。

檔案複製與自動化備份

$original = "/home/me/mydatabasedump";
$copied   = "/archive/mydatabasedump_1010";

@copy($original, $copied) or die("Couldn't copy file.");

結合 crontab 可實現定時自動備份:

# 每天凌晨 5 點執行(需安裝 Lynx 文字瀏覽器)
0 5 * * * [username] lynx -dump https://localhost/copyfile.php 1>/dev/null 2>&1

# 若使用 PHP CGI 版本,可直接呼叫執行檔
0 5 * * * [username] php /path/to/copyfile.php 1>/dev/null 2>&1

常用檔案系統函式速查表

函式用途
opendir / readdir / closedir開啟、讀取、關閉目錄
copy複製檔案
move_uploaded_file移動上傳檔案
unlink刪除檔案
mkdir / rmdir建立/刪除目錄
file_exists / is_dir / is_file檢查路徑屬性
filesize / filemtime取得檔案大小/修改時間

安全性提醒

  • 嚴格驗證使用者輸入的路徑,防止目錄遍歷攻擊(../)
  • 限制檔案上傳類型與大小
  • 執行權限最小化原則:PHP 進程僅擁有必要的讀寫權限
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved