PHP針對目錄的創建,有一個專門的函數mkdir():成功,返回true,失敗,返回false
函數mkdir有四個參數:
path:要創建的目錄的名稱
mode:權限。默認是0777(最大權限)
recursive:設置是否可以創建多級目錄(true:可,false:不可)
context:文件句柄的環境。context是可修改流的行為的一套選項(很少用到)
下面給大家介紹php創建多級目錄的兩種方法,具體詳情如下所示:
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.思想主要是利用了遞歸, 先創建dir, 在創建dir/css ,在創建….
2.遞歸就是入棧的過程, 所以先讓,dir/css/js/php/ok 先入棧, 則它會最後出棧…其它的就不說了.
3.dirname(path)返回的是path中除了最後一個目錄的值, 即第一次返回是: dir/css/js/php,,,第二次返回 dir/css/js,,,最後一次是 ./
2.直接利用mkdir()創建, 第三個參數必須是true才能自動創建多級目錄
function mkdirs_1($path, $mode = 0777){ if(is_dir($path)){ return '無法創建,已經是目錄了'; }else{ if(mkdir($path, $mode, true)) { return '創建成功'; }else{ return '創建失敗'; } } } /* http://www.manongjc.com/article/1332.html */ $path1 = 'a/b/c/d/e'; var_dump(mkdirs_1($path1)); //string '創建成功' (length=12)
以上所述是小編給大家介紹的PHP創建多級目錄的兩種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!