插件窝 干货文章 php mkdir()提示No such file or directory错误的解决方法

php mkdir()提示No such file or directory错误的解决方法

报错 mkdir() 921    来源:插件窝    2019-10-28

在php中使用mkdir()方法创建文件夹时报错:No such file or directory,出错代码如下:


$uploads_dir = './Public/files/uploads/'.date('y-m-d',time()).'/';
if (!file_exists($uploads_dir)) {
  mkdir($uploads_dir);
}


经过查询手册得知mkdir函数的具体信息如下:


定义和用法:


mkdir() 函数创建目录。


若成功,则返回 true,否则返回 false。


语法:


mkdir(path,mode,recursive,context)

参数    描述


path    必需。规定要创建的目录的名称。


mode    必需。规定权限。默认是 0777。


recursive    必需。规定是否设置递归模式。


context    必需。规定文件句柄的环境。Context 是可修改流的行为的一套选项。


错误原因:如果通过mkdir方法创建的是多级目录,应该设置第三个参数为true,也就是递归模式,否则就会报:No such file or directory错误,改为如下代码,成功执行:

$uploads_dir = './Public/files/uploads/'.date('y-m-d',time()).'/';
if (!file_exists($uploads_dir)) {
  mkdir($uploads_dir,0777,true);
}