在 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); }
声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。







