php遞歸創建目錄的方法(php創建目錄的函數)

本文目錄一覽:

php如何建立文件夾,代碼?

PHP中使用mkdir函數可以建立文件夾

示例:

mkdir(‘newdir’);

以上代碼將在當前PHP腳本所在目錄下新建一個newdir目錄

mkdir詳細用法如下:

mkdir — 新建目錄

bool mkdir( string $pathname[, int $mode = 0777[, bool $recursive = false[,resource $context]]] )

嘗試新建一個由 pathname 指定的目錄。

參數:

pathname:目錄的路徑。

mode:默認的 mode 是 0777,意味着最大可能的訪問權。mode 在 Windows 下被忽略。

recursive:是否遞歸創建子目錄

context:上下文

返回值:

成功時返回 TRUE, 或者在失敗時返回 FALSE。

PHP如何創建文件夾(mkdir的用法,mkdir的語法)

先我抄一段手冊上的有關mkdir的描述,如下:說明bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]] )嘗試新建一個由 pathname 指定的目錄。 注意也許想用八進制數指定模式,也就是說該數應以零打頭。模式也會被當前的 umask 修改,可以用 umask() 來改變。 注意: mode 在 Windows 下被忽略。自 PHP 4.2.0 起成為可選項。 默認的 mode 是 0777,意味着最大可能的訪問權。有關 mode 的更多信息請閱讀 chmod() 頁面。 例1. mkdir() 例子?phpmkdir(“/path/to/my/dir”, 0700); 如果成功則返回 TRUE,失敗則返回 FALSE。 注意: 自 PHP 5.0.0 rmdir() 也可用於某些 URL 封裝協議。參見附錄N 的列表看看 rmdir() 支持哪些 URL 封裝協議。 注意: 對 context 的支持是 PHP 5.0.0 添加的。有關 context 的說明見參考CLX, Stream Functions。注意: recursive 參數是 PHP 5.0.0 添加的。 注意: 當安全模式被激活時,PHP 將檢查被操作的目錄是否和正在執行的腳本有相同的 UID(所有者)。以上是PHP5手冊上的描述信息,即你可以這樣:mkdir(‘./test’,0777)就能創建一個文件夾了。但是如何遞歸創建多級目錄呢?其方式有: 1 PHP5 下創建目錄函數 mkdir 增加了一個新的參數 recursive ,通過設置 recursive 為 true 可以實現遞歸創建目錄的目的,但是對PHP4就不行了。 2 自己寫一個遞歸創建多級目錄。這裡,我對第二種方式作一點說明,也有兩種方式,如下:第一種(用mkdirs來產生多級父級)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); }說明: 1 首先 簡單說一下mkdir()與mkdirs()的區別,以及,is_dir和dirname(): mkdir() 只能在已經存在的目錄中創建創建文件夾(即父級必須有才行)。mkdirs() 可以在不存在的目錄中創建文件夾。諸如:a//b,既可以創建多級目錄。 dirname()是返迴路徑中的目錄部分。 is_dir()用於判斷給出的文件名是否是一個有效的目錄 2 大致流程為:(1) 先用is_dir判斷是否已是一個文件夾,如果是則返回TRUE。如沒有(或者不是文件夾),則試着創建它,當然有可以父級不存在,那mkdir直接就創不成功,但也為不報錯,所以就用@來抑止報非致命錯誤。 (2)如果傳參數都不滿足條件,那麼就進入第二個if語句,先是取得路徑中的目錄部分,當然有可能是不存在的多級父級,所以用了mkdirs()來先創建父級,如果成功(不成功返回FALSE),那麼再用mkdir來創建最終的目錄了。好了,以上就是第一種方案。

如何在php網站根目錄下建立自己想要的目錄?

在php程序中,可以使用mkdir() 函數來創建目錄,比如在當前目錄下創建test的目錄

代碼如下:

?php

mkdir(‘test’);

?

有時僅通過mkdir();並不能實現需求,並且ab目錄也不存在的時候,此時不得不通過遞歸的方法來建立多層目錄。

代碼如下:

?php

function Mk_Folder($Folder){

if(!is_readable($Folder)){

Mk_Folder( dirname($Folder) );

if(!is_file($Folder)) mkdir($Folder,0777);

    }

}

Mk_Folder(“D:/ab/test”);

?

怎麼在php中創建一個遞歸創建目錄的封裝函數

:遞歸創建目錄,此種方法是我目前感覺比較好的方法。

function mkDirs($dir){ if(!is_dir($dir)){ if(!mkDirs(dirname($dir))){ return false; } if(!mkdir($dir,0777)){ return false; } } return true; } mkDirs(‘1/2/3/’);我還是推薦你去後盾人看看,裡面有很對關於php這類的教學視頻哦⊙∀⊙!,你可以去看看

原創文章,作者:U4OVI,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130525.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
U4OVI的頭像U4OVI
上一篇 2024-10-03 23:28
下一篇 2024-10-03 23:28

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Rclone複製所有目錄

    如果你需要將本地文件複製到雲端,或者從雲端複製文件到本地,Rclone是一個非常好的選擇。本文將介紹如何使用Rclone複製所有目錄。 一、安裝Rclone 首先,你需要在你的機器…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有着廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進制的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進制。 一、AES加密介紹 AE…

    編程 2025-04-29

發表回復

登錄後才能評論