如果是Linux系统,记得要给目录文件开启777权限,否则图片会写入失败
前端图片进行了二进制流,base64加密。这里图片就得要 base64_decode解密。
/**
* 上传动态多张图片
* @parame base64 $img:单张图片 多张图片
* @return array
* @return @param code:返回码
* @return @param msg:返回码说明
* @return @param data:返回数据
*/
public function uploadImgs(){
$name=time();
$imgs = I('post.img');
// $imgs = $_POST['img'];
// writeLog(json_encode($_POST,JSON_UNESCAPED_UNICODE));die();
// var_dump(unserialize(file_get_contents('a.txt')));
foreach($imgs as $k => $current) {
$name+=$k;
$filePath = 'Public/Upload/RedPurses/img/';
$info = pathinfo($filePath);
//获取文件的绝对路径
$rootPath = $_SERVER['DOCUMENT_ROOT'].'/'.$info['dirname'].'/'.$info['basename'].'/'.date('Y-m-d').'/';
$path = '/Public/Upload/RedPurses/img/'.date('Y-m-d').'/';
// $base64_string= explode(',', $current); //截取data:image/png;base64, 这个逗号后的字符
$data=base64_decode($current);
// var_dump($data);die();
//如果文件不存在,则创建文件
if(!is_dir($rootPath)){
$flag = mkdir($rootPath,0777,true);
}
$file = file_put_contents($rootPath.$name.'.jpg',$data);
$imgs[] = $path.$name.'.jpg';
if ($file==false) {
$res = array(
'code' => '1',
'msg' => "图片上传失败!",
);
exit(json_encode($res, JSON_UNESCAPED_UNICODE));
}
}
$res = array(
'code' => '0',
'msg' => "成功",
'data' =>$imgs
);
header('Content-Type:text/html; charset=utf-8');
exit(json_encode($res,JSON_UNESCAPED_UNICODE));
}