上傳檔案、日誌分割、快取分層常需以日期建立目錄。本文展示最簡單的 PHP 實作:取得當前日期字串、檢查目錄是否存在、不存在則建立並設定權限。
<?php
// 1. 取得當前日期字串(格式:YYYYMMDD)
$dateDir = date('Ymd', time());
// 2. 目標目錄路徑(相對當前腳本)
$targetDir = "./$dateDir/";
// 3. 檢查並建立
if (!file_exists($targetDir)) {
if (mkdir($targetDir, 0777)) {
echo "目錄 $targetDir 建立成功";
} else {
echo "目錄建立失敗,請檢查權限";
}
} else {
echo "目錄 $targetDir 已存在";
}
$dateDir = date('Y/m/d', time()); // 2024/01/15
$targetDir = "./$dateDir/";
if (!file_exists($targetDir)) {
mkdir($targetDir, 0777, true); // 遞歸建立多層
}
umask 實際生效權限。date('Ymd') + mkdir() 即可快速實現日期分層目錄。生產環境建議使用遞歸建立 mkdir($path, 0755, true),並配合固定上傳根目錄、隨機子目錄、權限最小化原則,確保檔案系統安全與效能。