首页 > 编程知识 正文

php递归创建目录的方法(php创建目录的函数)

时间:2023-11-29 12:18:45 阅读:310075 作者:AXLE

本文目录一览:

  • 1、php如何建立文件夹,代码?
  • 2、PHP如何创建文件夹(mkdir的用法,mkdir的语法)
  • 3、如何在php网站根目录下建立自己想要的目录?
  • 4、怎么在php中创建一个递归创建目录的封装函数

php如何建立文件夹,代码?

PHP中使用mkdir函数可以建立文件夹

示例:

mkdir('newdir');

以上代码将在当前PHP脚本所在目录下新建一个newdir目录

mkdir详细用法如下:

mkdir — 新建目录

bool mkdir( string $pathname[, int $mode = 0777[, bool $recursive = false[,resource $context]]] )

尝试新建一个由 pathname 指定的目录。

参数:

pathname:目录的路径。

mode:默认的 mode 是 0777,意味着最大可能的访问权。mode 在 Windows 下被忽略。

recursive:是否递归创建子目录

context:上下文

返回值:

成功时返回 TRUE, 或者在失败时返回 FALSE。

PHP如何创建文件夹(mkdir的用法,mkdir的语法)

先我抄一段手册上的有关mkdir的描述,如下:说明bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]] )尝试新建一个由 pathname 指定的目录。 注意也许想用八进制数指定模式,也就是说该数应以零打头。模式也会被当前的 umask 修改,可以用 umask() 来改变。 注意: mode 在 Windows 下被忽略。自 PHP 4.2.0 起成为可选项。 默认的 mode 是 0777,意味着最大可能的访问权。有关 mode 的更多信息请阅读 chmod() 页面。 例1. mkdir() 例子?phpmkdir("/path/to/my/dir", 0700); 如果成功则返回 TRUE,失败则返回 FALSE。 注意: 自 PHP 5.0.0 rmdir() 也可用于某些 URL 封装协议。参见附录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 增加了一个新的参数 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 首先 简单说一下mkdir()与mkdirs()的区别,以及,is_dir和dirname(): mkdir() 只能在已经存在的目录中创建创建文件夹(即父级必须有才行)。mkdirs() 可以在不存在的目录中创建文件夹。诸如:a//b,既可以创建多级目录。 dirname()是返回路径中的目录部分。 is_dir()用于判断给出的文件名是否是一个有效的目录 2 大致流程为:(1) 先用is_dir判断是否已是一个文件夹,如果是则返回TRUE。如没有(或者不是文件夹),则试着创建它,当然有可以父级不存在,那mkdir直接就创不成功,但也为不报错,所以就用@来抑止报非致命错误。 (2)如果传参数都不满足条件,那么就进入第二个if语句,先是取得路径中的目录部分,当然有可能是不存在的多级父级,所以用了mkdirs()来先创建父级,如果成功(不成功返回FALSE),那么再用mkdir来创建最终的目录了。好了,以上就是第一种方案。

如何在php网站根目录下建立自己想要的目录?

在php程序中,可以使用mkdir() 函数来创建目录,比如在当前目录下创建test的目录

代码如下:

?php

mkdir('test');

?

有时仅通过mkdir();并不能实现需求,并且ab目录也不存在的时候,此时不得不通过递归的方法来建立多层目录。

代码如下:

?php

function Mk_Folder($Folder){

if(!is_readable($Folder)){

Mk_Folder( dirname($Folder) );

if(!is_file($Folder)) mkdir($Folder,0777);

    }

}

Mk_Folder("D:/ab/test");

?

怎么在php中创建一个递归创建目录的封装函数

:递归创建目录,此种方法是我目前感觉比较好的方法。

function mkDirs($dir){ if(!is_dir($dir)){ if(!mkDirs(dirname($dir))){ return false; } if(!mkdir($dir,0777)){ return false; } } return true; } mkDirs('1/2/3/');我还是推荐你去后盾人看看,里面有很对关于php这类的教学视频哦⊙∀⊙!,你可以去看看

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。