php mkdir多级文件目录失败,php mkdir一次创建多级目录的linux下的问题和处理记录...

PHP自带创建目录的代码,在upload目录下,先创建document再创建20200212两个目录# 判断存储目录是否存在,无则自动创建

$storage = '/upload/document/20200212';

if(!is_dir($storage)){

mkdir($storage,'0777',true);

chmod($storage,0777);

}

根据php文档说明,使用true就能够递归,实现上在服务器上创建document之后,就出现了权限问题。Warning: mkdir(): Permission denied in /home/public_html/app/upapi/module/Upload.php on line 158

Warning: chmod(): No such file or directory in /home/public_html/app/upapi/module/Upload.php on line 159

观察被创建的document权限是很乱的,而且没有写权限。

ad8f867843c64364c71bc5b48f231a5e.png

临时解决办法就是重写这个法,# 判断存储目录是否存在,无则自动创建

if(!is_dir($storage)){

$this->mkdirs($storage);

}

function mkdirs($dir){

return is_dir($dir) or ($this->mkdirs(dirname($dir)) and mkdir($dir,0777));

}

标签: 递归

非特殊说明,本博所有文章均为博主原创。

最新文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值