php判断文件夹是否存在和创建文件夹的方法

上传人:小** 文档编号:46747910 上传时间:2018-06-27 格式:DOC 页数:3 大小:16KB
返回 下载 相关 举报
php判断文件夹是否存在和创建文件夹的方法_第1页
第1页 / 共3页
php判断文件夹是否存在和创建文件夹的方法_第2页
第2页 / 共3页
php判断文件夹是否存在和创建文件夹的方法_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《php判断文件夹是否存在和创建文件夹的方法》由会员分享,可在线阅读,更多相关《php判断文件夹是否存在和创建文件夹的方法(3页珍藏版)》请在金锄头文库上搜索。

1、PHP 判断文件夹是否存在和创建文件夹的方法.txt 第一次笑是因为遇见你,第一次哭是因为 你不在,第一次笑着流泪是因为不能拥有你。PHP 判断文件夹是否存在和创建文件夹的方法2010 年 04 月 23 日 星期五 14:35(PHPmkdir 如何创建多级目录)在开始之前,我先说明一下,可能许多朋友与我一样认为只要给一个路径,mkdir 就可 以创建文件夹,其实不是那样,单个的 MKDIR 只能创建一级目录,对于多级的就不行了,那 如何用 mkdir 来创建呢?先我抄一段手册上的有关 mkdir 的描述,如下:说明bool mkdir ( string pathname , int mod

2、e , bool recursive , resource context )尝试新建一个由 pathname 指定的目录。注意也许想用八进制数指定模式,也就是说该数应以零打头。模式也会被当前的 umask 修 改,可以用 umask() 来改变。注意: mode 在 Windows 下被忽略。自 PHP 4.2.0 起成为可选项。默认的 mode 是 0777,意味着最大可能的访问权。有关 mode 的更多信息请阅读 chmod() 页面。 例 1. mkdir() 例子如果成功则返回 TRUE,失败则返回 FALSE。注意: 自 PHP 5.0.0 rmdir() 也可用于某些 URL 封

3、装协议。参见附录 N 的列表看看 rmdir() 支持哪些 URL 封装协议。 注意: 对 context 的支持是 PHP 5.0.0 添加的。有关 context 的说明见参考 CLX, Stream Functions。 注意: recursive 参数是 PHP 5.0.0 添加的。 注意: 当安全模式被激活时,PHP 将检查被操作的目录是否和正在执行的脚本有相同的 UID(所有者) 。以上是 PHP5 手册上的描述信息,即你可以这样:mkdir(./test,0777)就能创建一个文件 夹了。但是如何递归创建多级目录呢?其方式有:1.PHP5 下创建目录函数 mkdir 增加了一个新

4、的参数 recursive ,通过设置 recursive 为 true 可以实现递归创建目录的目的,但是对 PHP4 就不行了。2.自己写一个递归创建多级目录。这里,我对第二种方式作一点说明,也有两种方式,如下:第一种(用 mkdirs 来产生多级父级)function mkdirs($dir, $mode = 0777)if (is_dir($dir) | mkdir($dir, $mode) return TRUE;if (!mkdirs(dirname($dir), $mode) return FALSE;return mkdir($dir, $mode);说明: 1.首先 简单说一下

5、 mkdir()与 mkdirs()的区别,以及,is_dir 和 dirname():mkdir() 只能在已经存在的目录中创建创建文件夹(即父级必须有才行) 。 mkdirs() 可以在不存在的目录中创建文件夹。诸如:ab,既可以创建多级目录。 dirname()是返回路径中的目录部分。is_dir()用于判断给出的文件名是否是一个有效的目录 2.大致流程为: (1) 先用 is_dir 判断是否已是一个文件夹,如果是则返回 TRUE。如没有(或者不是文件 夹) ,则试着创建它,当然有可以父级不存在,那 mkdir 直接就创不成功,但也为不报错, 所以就用来抑止报非致命错误。(2)如果传参

6、数都不满足条件,那么就进入第二个 if 语句,先是取得路径中的目录部分, 当然有可能是不存在的多级父级,所以用了 mkdirs()来先创建父级,如果成功(不成功 返回 FALSE) ,那么再用 mkdir 来创建最终的目录了。好了,以上就是第一种方案。第二种(说明:此方案是相当的精简,那是相当的不错的方案,推荐使用它)function create_folders($dir) return is_dir($dir) or (create_folders(dirname($dir) and mkdir($dir, 0777); 说明: 1 大致流程: 得到路径后,先判断是否已是一个有效的文件目录

7、,如是则返回,结 束程序。如果不是, (由于这里用了 OR 作先择性的条件,即只要满足其中一个条件就行) , 则递归再调用自身,并且传入的路径中,少一级目录。这样来先回到上级有的父级目录中, 再用 mkdir 来创建下一级的。好了,以上就是用 PHP 来创建文件夹(以及多级文件夹)的方法。_for ($i=1;$i20;$i+) $dir=“products/folder“.$i;if (is_dir($dir)=false)mkdir($dir, 0777);总结: 1.用 PHP5 中自带的 mkdir 中的一个新的参数 recursive ,通过设置 recursive 为 true 可以实现递归创建目录的目的,但是对 PHP4 就不行了。2.自己写的方法中,用 mkdirs 来创建多级父级目录方式3.仍然用 mkdir 很巧妙的来创建,-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 宣传企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号