> php教程 > php手册 > 본문

如何运用php函数mkdir创建多级目录

WBOY
풀어 주다: 2016-06-13 11:07:41
원래의
919명이 탐색했습니다.

当我们想在自己的网站上添加多级目录时,可以使用php函数mkdir参数与描述

path 必需。规定要创建的目录的名称。
mode 必需。规定权限。默认是 0777。
recursive 必需。规定是否设置递归模式。
context 必需。规定文件句柄的环境。Context 是可修改流的行为的一套选项。

说明

php函数mkdir 尝试新建一个由 path 指定的目录。

默认的 mode 是 0777,意味着最大可能的访问权。

php默认的mkdir一次只能创建一层目录,如果在当前目录下创建一个div/css/layout 的目录就需要逐层逐层的先创建div,再创建div/css 再创建 div/css/layout,然而我们希望能让程序自动帮我们完成这个过程。

其实思路也很简单,1.先判断 div目录是否存在,不存在则创建;2.判断子目录 div/css 是否存在,不能存在则创建,3.在第二步中以子目录作为参数递归调用函数本身。也可以按相反顺序来,1.先判断最底层目录div/css/layout是否存在;2.判断div/css/layout的上层目录div/css是否存在,不存在则以div/css作为参数递归进行。。

下面是php函数mkdir的程序代码:

<ol class="dp-xml">
<li class="alt"><span><span>function mkdirs($dir)  </span></span></li>
<li><span>{  </span></li>
<li class="alt"><span>if(!is_dir($dir))  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>if(!mkdirs(dirname($dir))){  </span></li>
<li><span>return false;  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>if(!mkdir($dir,0777)){  </span></li>
<li class="alt"><span>return false;  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>return true;  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>mkdirs('div/css/layout');  </span></li>
<li class="alt"><span>同样的思路,php用rmdir和unlink递归删除多级目录的代码:  </span></li>
<li><span>function rmdirs($dir)  </span></li>
<li class="alt"><span>{  </span></li>
<li>
<span>$</span><span class="attribute">d</span><span> = </span><span class="attribute-value">dir</span><span>($dir);  </span>
</li>
<li class="alt">
<span>while (false !== ($</span><span class="attribute">child</span><span> = $d-</span><span class="tag">></span><span>read())){  </span>
</li>
<li><span>if($child != '.' && $child != '..'){  </span></li>
<li class="alt"><span>if(is_dir($dir.'/'.$child))  </span></li>
<li><span>rmdirs($dir.'/'.$child);  </span></li>
<li class="alt"><span>else unlink($dir.'/'.$child);  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>}  </span></li>
<li>
<span>$d-</span><span class="tag">></span><span>close();  </span>
</li>
<li class="alt"><span>rmdir($dir);  </span></li>
<li><span>} </span></li>
</ol>
로그인 후 복사

以上代码示例就是php函数mkdir实现创建多级目录的具体方法。


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!