期望在上传文件的时候自动按时间创建文件夹,以保存上传文件 [ 2.0 版本 ]
model代码如下:
public function upload(){
if($this->validate()){
if(!file_exists('upuploads/'.date('Y/m/d',time()))){
mkdir('upuploads/'.date('Y/m/d',time()));
}
$this->imageFile->saveAs('uploads/'.date('Y/m/d',time()).'/'.rand(000,999).'.'.$this->imageFile->extension);
return true;
}else{
return false;
}
}
- 报错:mkdir(): No such file or directory
- 尝试解决:修改uploads的权限为777,但未来创建的文件夹都没有777权限
最佳答案
-
linux服务器 mkdir() 后加 chmod()
共 2 条回复谢谢。将代码贴于此,大家可能有更好的办法,或简化代码
$dirArray = explode('/','uploads/'.date('Y/m/d',time())); for($i=0;$i<count($dirArray);$i++){ if(!file_exists($dirArray[$i])){ mkdir($dirArray[$i]); chmod($dirArray[$i],0777); } if($i==count($dirArray)-1){ break; } $dirArray[$i+1]=$dirArray[$i].'/'.$dirArray[$i+1]; }
杨淇 觉得很赞
其他 1 个回答
杨淇 西南
注册时间:2015-09-25
最后登录:2022-04-12
在线时长:51小时48分
最后登录:2022-04-12
在线时长:51小时48分
- 粉丝12
- 金钱5620
- 威望10
- 积分6230