发布网友 发布时间:2022-05-10 13:43
共3个回答
懂视网 时间:2022-05-10 18:04
下面介绍php中的mkdir()创建多级目录。一、函数说明
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
第一个参数 $pathname:必须,代表要创建的一级或多级目录的路径;
第二个参数 $mode:设定目录的权限,默认是 0777,意味着最大可能的访问权;
第三个参数 $recursive:true表示允许创建多级目录。
二、返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。
三、经典示例
<?php header("Content-type:text/html;charset=utf-8"); //要创建的多级目录 $path = "./whm/php/php学习"; // 判断目录存在否,存在给出提示,不存在则创建目录 // is_dir() - 判断给定文件名是否是一个目录 if (is_dir($path)){ echo "对不起!目录 " . $path . " 已经存在!"; }else{ // 第三个参数为true时表示能创建多级目录 $res=mkdir($path, 0777, true); if ($res){ echo "目录 $path 创建成功"; }else{ echo "目录 $path 创建失败"; } }
四、错误示例
相信很多初学者会这样创建多级目录,其实这样创建多级目录是错误的
mkdir('aa/bb/cc');//如果有aa/bb目录就可以成功创建cc目录否则会报错哦,如果要创建多目录我们看下面代码
五、mkdir()后无写权限的问题解决方法
mkdir('文件地址', 0777); chmod('文件地址', 0777); // 最后,需要注意一点,权限值最好使用八进制表示,即 0 开头,而且一定不要加引号。 // 原因:代码错误,'0777'不应使用字符串参数,而是使用0777值
更多PHP相关知识,请访问PHP中文网!
热心网友 时间:2022-05-10 15:12
可以的,使用第三个参数就好,例子如下:
C盘下面创建a/b/c文件夹,并赋予0777的权限
热心网友 时间:2022-05-10 16:30
可以,第三个参数设为true