自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基礎(chǔ)講解 PHP創(chuàng)建文件夾

開(kāi)發(fā) 后端
PHP創(chuàng)建文件夾可以通過(guò)MKDIR來(lái)實(shí)現(xiàn)。我們首先需要了解的就是mkdir的具體概念,才能充分掌握這一功能的實(shí)現(xiàn)方法。

PHP的應(yīng)用范圍非常廣泛,可以幫助我們實(shí)現(xiàn)許多功能。下面我們就為大家具體講PHP創(chuàng)建文件夾的相關(guān)用法,希望對(duì)大家有所幫助。#t#

在開(kāi)始之前,我先說(shuō)明一下,可能許多朋友與我一樣認(rèn)為只要給一個(gè)路徑,mkdir就可以創(chuàng)建文件夾,其它不是那樣,單個(gè)的MKDIR只能創(chuàng)建一級(jí)目錄,對(duì)于多級(jí)的就不行了,那如何用mkdir來(lái)創(chuàng)建呢?先我抄一段手冊(cè)上的有關(guān)mkdir的描述,如下:

說(shuō)明
bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]] )

 

嘗試新建一個(gè)由 pathname 指定的目錄。

注意也許想用八進(jìn)制數(shù)指定模式,也就是說(shuō)該數(shù)應(yīng)以零打頭。模式也會(huì)被當(dāng)前的 umask 修改,可以用 umask() 來(lái)改變。

 

注意: mode 在 Windows 下被忽略。自 PHP 4.2.0 起成為可選項(xiàng)。
 

默認(rèn)的 mode 是 0777,意味著最大可能的訪問(wèn)權(quán)。有關(guān) mode 的更多信息請(qǐng)閱讀 chmod() 頁(yè)面。 例 1. mkdir() 例子

  1. < ?php  
  2. mkdir("/path/
    to/my/dir", 0700);  
  3. ?>  

如果成功則返回 TRUE,失敗則返回 FALSE。

注意: 自 PHP 5.0.0 rmdir() 也可用于某些 URL 封裝協(xié)議。參見(jiàn)附錄 N 的列表看看 rmdir() 支持哪些 URL 封裝協(xié)議。
注意: 對(duì) context 的支持是 PHP 5.0.0 添加的。有關(guān) context 的說(shuō)明見(jiàn)參考 CLX, Stream Functions。
注意: recursive 參數(shù)是 PHP 5.0.0 添加的。
注意: 當(dāng)安全模式被激活時(shí),PHP 將檢查被操作的目錄是否和正在執(zhí)行的腳本有相同的 UID(所有者)。

以上是PHP5手冊(cè)上的描述信息,即你可以這樣:mkdir('./test',0777)就能創(chuàng)建一個(gè)文件夾了。但是如何遞歸創(chuàng)建多級(jí)目錄呢?

PHP創(chuàng)建文件夾方式有:

1 PHP5 下創(chuàng)建目錄函數(shù) mkdir 增加了一個(gè)新的參數(shù) recursive ,通過(guò)設(shè)置 recursive 為 true 可以實(shí)現(xiàn)遞歸創(chuàng)建目錄的目的,但是對(duì)PHP4就不行了。

2 自己寫(xiě)一個(gè)遞歸創(chuàng)建多級(jí)目錄。

這里,我對(duì)第二種方式作一點(diǎn)說(shuō)明,也有兩種方式,如下:

第一種PHP創(chuàng)建文件夾(用mkdirs來(lái)產(chǎn)生多級(jí)父級(jí))

 

  1. function mkdirs($dir, $mode = 0777)  
  2. {  
  3. if (is_dir($dir) || 
    @mkdir($dir, $mode)) 
    return TRUE;  
  4. if (!mkdirs(dirname
    ($dir), $mode)) return FALSE;  
  5. return @mkdir($dir, $mode);  

 

說(shuō)明: 1 首先 簡(jiǎn)單說(shuō)一下mkdir()與mkdirs()的區(qū)別,以及,is_dir和dirname():

mkdir()
只能在已經(jīng)存在的目錄中創(chuàng)建創(chuàng)建文件夾(即父級(jí)必須有才行)。
mkdirs()
可以在不存在的目錄中創(chuàng)建文件夾。諸如:a\\b,既可以創(chuàng)建多級(jí)目錄。

dirname()是返回路徑中的目錄部分。

is_dir()用于判斷給出的文件名是否是一個(gè)有效的目錄

2 大致流程為:(1)先用is_dir判斷是否已是一個(gè)文件夾,如果是則返回TRUE。如沒(méi)有(或者不是文件夾),則試著創(chuàng)建它,當(dāng)然有可以父級(jí)不存在,那mkdir直接就創(chuàng)不成功,但也為不報(bào)錯(cuò),所以就用@來(lái)抑止報(bào)非致命錯(cuò)誤。

(2)如果傳參數(shù)都不滿足條件,那么就進(jìn)入第二個(gè)if語(yǔ)句,先是取得路徑中的目錄部分,當(dāng)然有可能是不存在的多級(jí)父級(jí),所以用了mkdirs()來(lái)先創(chuàng)建父級(jí),如果成功(不成功返回FALSE),那么再用mkdir來(lái)創(chuàng)建最終的目錄了。

好了,以上就是第一種方案。

第二種PHP創(chuàng)建文件夾

(說(shuō)明:此方案是相當(dāng)?shù)木?jiǎn),那是相當(dāng)?shù)牟诲e(cuò)的方案,推薦使用它)

 

  1. function create_folders($dir){  
  2. return is_dir($dir) or (
    create_folders(dirname($dir)) 
    and mkdir($dir, 0777));  
  3. }  

 

說(shuō)明:

1 大致流程:得到路徑后,先判斷是否已是一個(gè)有效的文件目錄,如是則返回,結(jié)束程序。如果不是,(由于這里用了OR作先擇性的條件,即只要滿足其中一個(gè)條件就行),則遞歸再調(diào)用自身,并且傳入的路徑中,少一級(jí)目錄。這樣來(lái)先回到上級(jí)有的父級(jí)目錄中,再用mkdir來(lái)創(chuàng)建下一級(jí)的。

好了,以上就是用PHP來(lái)創(chuàng)建文件夾(以及多級(jí)文件夾)的方法。^_^

PHP創(chuàng)建文件夾總結(jié):

1 用PHP5中自帶的mkdir 中的一個(gè)新的參數(shù) recursive ,通過(guò)設(shè)置 recursive 為 true 可以實(shí)現(xiàn)遞歸創(chuàng)建目錄的目的,但是對(duì)PHP4就不行了。

2 自己寫(xiě)的方法中,用mkdirs來(lái)創(chuàng)建多級(jí)父級(jí)目錄方式

3 仍然用mkdir很巧妙的來(lái)創(chuàng)建,

責(zé)任編輯:曹凱 來(lái)源: 百度博客
相關(guān)推薦

2009-08-31 12:56:36

C#創(chuàng)建文件夾

2009-08-31 10:56:54

C#創(chuàng)建文件夾

2009-09-25 10:01:07

Linux教程Linux mkdir創(chuàng)建文件夾命令

2009-08-31 12:31:45

C#創(chuàng)建文件夾

2021-04-06 11:33:25

Windows 10Windows微軟

2023-03-21 12:52:05

Linux創(chuàng)建文件

2016-10-13 08:55:20

Windows 10PowerShelll批量

2009-12-03 14:10:06

PHP壓縮文件夾

2010-03-15 12:50:19

Python文件夾創(chuàng)建

2010-02-03 15:54:58

Linux SVN安裝

2011-08-02 09:38:58

ActiveDirec域控制器共享文件夾

2021-08-16 13:34:07

Linux終端刪除文件

2023-05-13 17:43:17

Linux文件文件夾

2010-12-31 13:35:25

文件夾重定向

2013-11-11 16:12:06

Linux系統(tǒng)文件夾

2009-12-04 15:52:46

PHP導(dǎo)入Excel文

2009-12-23 10:58:58

Linux創(chuàng)建文件命令

2009-08-04 09:37:34

Linux創(chuàng)建文件命令Linux創(chuàng)建文件命令

2009-12-23 10:58:58

Linux創(chuàng)建文件命令

2009-08-04 09:53:21

linux創(chuàng)建文件命令tail命令自解壓
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)