手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

快速生成目录树

首页 > PHP >

网页开发时,很多时候都会遇到生成目录树的问题,系统自带的mkdir仅仅只能生成单个目录,当面对“abc/def/ghi/jkl/”这样的路径时,就没有办法了。这时候,可以利用一个简单的递归,同时调用PHP自带函数dirname,就可以很方便的生成目录树

PHP代码
  1. <?php   
  2.   
  3.     function mkdirs($path , $mode = 0755 ){   
  4.         if(!is_dir($path)){   
  5.             mkdirs(dirname($path),$mode);   
  6.             mkdir($path,$mode);   
  7.         }   
  8.         return true;   
  9.     }  

这样就比较方便的生成一个目录树了,该函数主要用于:1、生成缓存目录,2、生成静态文件目录,3、生成上传文件目录。

其它地方用的并不是很多




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: php, 目录树, mkdir

« 上一篇 | 下一篇 »

只显示10条记录相关文章

使用PHP得到所有的HTTP请求头 (浏览: 57262, 评论: 3)
我为什么会选用phpstorm (浏览: 48239, 评论: 5)
通过file_get_contents来Post数据的实例 (浏览: 40933, 评论: 5)
PHP导入导出Excel方法 (浏览: 40146, 评论: 3)
PHP的XSS攻击过滤函数 (浏览: 37182, 评论: 2)
PHP中Eval的作用 (浏览: 36137, 评论: 4)
PHP常见错误(二) (浏览: 34565, 评论: 1)
超详细:在Mac OS X中配置Apache + PHP + MySQL (浏览: 33817, 评论: 1)
PHP sendmail (浏览: 33691, 评论: 7)
几个ZendStudio使用教程 (浏览: 31479, 评论: 0)

7条记录访客评论

php5 支持 mkdir("",0777,true); php4 不支持。
可以使用explode('/') 折分以后循环输出,在使用mkdir
如果是win 的环境,在执行一个 \\ 替换为 /

Post by phper on 2012, August 27, 10:03 AM 引用此文发表评论 #1

在你之前的回复中我已经注明,我是被PHP4害了。
当然,好象试过,在linux下面如果是0600的时候,是不能递归生成的(前提是,我不记得我的apache是用哪个用户的了,可能是www-data用户吧?反正利用系统自带的没有生成成功)
具体环境已经无法重现。只能安慰一下自己可能是RP不够好吧。

Post by gouki on 2009, August 5, 10:24 PM 引用此文发表评论 #2

mkdir(\'abc/def/ghi/jkl/\') 这样不是也能直接生成的么,膘哥。

Post by jimmy on 2009, August 5, 1:43 PM 引用此文发表评论 #3

mkdir('abc/def/ghi/jkl/') 这样不是也能直接生成的么,膘哥。

Post by jimmy on 2009, August 5, 1:40 PM 引用此文发表评论 #4

我又被PHP4害了。。。

Post by gouki on 2008, November 5, 2:21 PM 引用此文发表评论 #5

php的mkdir支持递归生成的.
mkdir($path,$mode,true);

Post by 懒宝宝 on 2008, November 5, 10:59 AM 引用此文发表评论 #6

已经将你的函数进行了改进。支持相对/绝对目录的批量创建。详见
http://www.haixiait.com/article.asp?id=196

谢谢你。

Post by airzen on 2008, June 26, 11:49 AM 引用此文发表评论 #7


发表评论

评论内容 (必填):