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

PHP 使用 mkdir() 建立目錄

     編輯:PHP 綜合知識

mkdir() 可在伺服器建立目錄。預設只建立單層,遞迴建立需啟用 $recursive = true(PHP 5.0+)。搭配 file_exists() 或 is_dir() 先判斷避免錯誤。

基本語法

mkdir(string $directory, int $permissions = 0777, bool $recursive = false, resource $context = null): bool

安全建立範例

<?php
$dir = "/temp/test";
if (is_dir($dir)) {
    echo "目錄已存在\n";
} else {
    if (mkdir($dir, 0755, true)) {
        echo "目錄建立成功\n";
    } else {
        echo "建立失敗(權限不足或路徑錯誤)\n";
    }
}
?>

執行結果

首次執行:目錄建立成功
再次執行:目錄已存在

權限說明

  • 0755:擁有者讀寫執行,群組/其他讀執行(目錄常用)
  • 0777:所有人完整權限(不安全,避免使用)
  • Windows 下權限參數會被忽略

遞迴建立多層路徑

mkdir("/var/www/project/runtime/cache", 0755, true);

常見錯誤

  • Permission denied:父目錄無寫入權限
  • File exists:同名檔案已存在(非目錄)
  • No such file or directory:父路徑不存在且未啟用 recursive

現代替代:Symfony Filesystem / League Flysystem

use League\Flysystem\Filesystem;
use League\Flysystem\Adapter\Local;

$fs = new Filesystem(new Local('/var/www'));
$fs->createDirectory('project/runtime/cache', ['visibility' => 'public']);

善用 recursive=true 並設定適當權限,避免目錄建立失敗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved