PHP創(chuàng)建多級目錄的兩種方法
PHP針對目錄的創(chuàng)建,有一個專門的函數(shù)mkdir():成功,返回true,失敗,返回false
函數(shù)mkdir有四個參數(shù):
path:要創(chuàng)建的目錄的名稱
mode:權(quán)限。默認是0777(最大權(quán)限)
recursive:設(shè)置是否可以創(chuàng)建多級目錄(true:可,false:不可)
context:文件句柄的環(huán)境。context是可修改流的行為的一套選項(很少用到)
下面給大家介紹php創(chuàng)建多級目錄的兩種方法,具體詳情如下所示:
1.使用遞歸的思想
function mkdirs_2($path){ if(!is_dir($path)){ mkdirs_2(dirname($path)); if(!mkdir($path, 0777)){ return false; } } return true; } /* http://www.manongjc.com/article/1331.html */ $path2 = 'sdfs/sds/sds/s/s/sss'; var_dump(mkdirs_2($path2)); //true;
1.思想主要是利用了遞歸, 先創(chuàng)建dir, 在創(chuàng)建dir/css ,在創(chuàng)建….
2.遞歸就是入棧的過程, 所以先讓,dir/css/js/php/ok 先入棧, 則它會最后出棧…其它的就不說了.
3.dirname(path)返回的是path中除了最后一個目錄的值, 即第一次返回是: dir/css/js/php,,,第二次返回 dir/css/js,,,最后一次是 ./
2.直接利用mkdir()創(chuàng)建, 第三個參數(shù)必須是true才能自動創(chuàng)建多級目錄
function mkdirs_1($path, $mode = 0777){ if(is_dir($path)){ return '無法創(chuàng)建,已經(jīng)是目錄了'; }else{ if(mkdir($path, $mode, true)) { return '創(chuàng)建成功'; }else{ return '創(chuàng)建失敗'; } } } /* http://www.manongjc.com/article/1332.html */ $path1 = 'a/b/c/d/e'; var_dump(mkdirs_1($path1)); //string '創(chuàng)建成功' (length=12)
以上所述是小編給大家介紹的PHP創(chuàng)建多級目錄的兩種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
PHP開發(fā)框架Laravel數(shù)據(jù)庫操作方法總結(jié)
這篇文章主要介紹了PHP開發(fā)框架Laravel數(shù)據(jù)庫操作方法總結(jié),包含Select查詢、Insert語句、update語句、Delete語句、事務(wù)等,需要的朋友可以參考下2014-09-09php實現(xiàn)utf-8轉(zhuǎn)unicode函數(shù)分享
這篇文章主要介紹了php實現(xiàn)utf-8轉(zhuǎn)unicode函數(shù)分享,需要的朋友可以參考下2015-01-01