程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php mkdir 創建多級目錄實例代碼

php mkdir 創建多級目錄實例代碼

編輯:關於PHP編程

php mkdir創建目錄只能一級級創建目錄了,如果多級我們需要遞歸遍歷來創建目錄哦,下面我給大家介紹此函數的一些使用技巧吧。

先介紹一下 mkdir() 這個函數

mkdir($path,0777,true);

第一個參數:必須,代表要創建的多級目錄的路徑;

第二個參數:設定目錄的權限,默認是 0777,意味著最大可能的訪問權;

第三個參數:true表示允許創建多級目錄。

mkdir($dir,$mode);但是它每次只能創建一個目錄,也就是說它不能一次創建多級目錄,如下

mkdir('aa'); //就只能創建一個aa目錄了

mkdir('aa/bb/cc');//如果有aa/bb目錄就可以成功創建cc目錄否則會報錯哦,如果要創建多目錄我們看下面代碼

舉例代碼(支持創建中文目錄):

 代碼如下 復制代碼

<?php

 


 header("Content-type:text/html;charset=utf-8");

 //要創建的多級目錄

 $path="dai/php/php學習";

 //判斷目錄存在否,存在給出提示,不存在則創建目錄

 if (is_dir($path)){ 

  echo "對不起!目錄 " . $path . " 已經存在!";

 }else{

  //第三個參數是“true”表示能創建多級目錄,iconv防止中文目錄亂碼

  $res=mkdir(iconv("UTF-8", "GBK", $path),0777,true);

  if ($res){

   echo "目錄 $path 創建成功";

  }else{

   echo "目錄 $path 創建失敗";

  }

 }

 


?>

再看一個遞歸創建目錄的實例

小編整理了兩個可以遞歸創建目錄的方法供大家參考學習,謝謝啦!

 代碼如下 復制代碼

<?php
/*
*mkdir($dir,$mode)
*PHP 遞歸創建目錄
*/
function mkdirs($dir, $mode = 0777)
{
    if (is_dir($dir) || @mkdir($dir, $mode)){
        return true;
    }
    if (!mkdirs(dirname($dir), $mode)){
        return false;
    }
    return @mkdir($dir, $mode);
}

function mkdirs($dir, $mode = 0777)
{
    $dirArray = explode("/",$dir);
    $dirArray = array_filter($dirArray);
  
    $created = "";
    foreach($dirArray as $key => $value){
        if(!empty($created)){
            $created .= "/".$value;
            if(!is_dir($created)){
                mkdir($created,$mode);
            }
        }else{
            if(!is_dir($value)){
                mkdir($value,$mode);
            }
            $created .= $value;
        }
    }
}
?>
//代碼應用實例
$path="abc/ff/ss/";
mkdirs($path,$mode = 0777);

上邊介紹的就是php遞歸創建目錄和多級目錄的內容

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved