:PHP在判断文件是否存在,不存在就创建的时候,使用mkdir创建时候报错“No such file or directory”,出错代码如下:
$path = 'upload/common/';//文件路径 $new_file = $path.date('Ymd',time()).'/'; if(!file_exists($new_file)){ //检查是否有该文件夹,如果没有就创建,并给予最高权限 mkdir($new_file, 0777); }
:经过查询手册得知mkdir函数的具体信息如下:
mkdir() 函数创建目录,若成功,则返回 true,否则返回 false。
语法:
mkdir(path,mode,recursive,context);
参数 描述
path 必需。规定要创建的目录的名称。
mode 必需。规定权限。默认是 0777。
recursive 必需。规定是否设置递归模式。
context 必需。规定文件句柄的环境。Context 是可修改流的行为的一套选项。
错误原因:如果通过mkdir方法创建的是多级目录,应该设置第三个参数为true,也就是递归模式,否则就会报:No such file or directory错误。
改为如下代码,成功执行:
$path = 'upload/common/';//文件路径 $new_file = $path.date('Ymd',time()).'/'; if(!file_exists($new_file)){ //检查是否有该文件夹,如果没有就创建,并给予最高权限 mkdir($new_file, 0777, true); }