/** * base64格式轉存圖片 * @param int $shopid * @param string $filename 文件名 * @param string $base64 上傳的文件的 base64格式 * @param string $filePath 要保存的路徑 * @return number[]|string[]|string * @author Donlyn<br> * created at 2017-08-24 */ function base64_upload($shopid,$filename,$base64, $filePath='/upload/shop_info_check_qrcode/') { if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64, $result)){ // 圖片后綴 $type = $result[2]; // 保存位置--圖片名 $image_name = ($filename ? $filename : date('His') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT) ). "." . $type; $filePath = $filePath ? $filePath : '/upload/shop_info_check_qrcode/'; $image_url = $filePath . $shopid . '/' . $image_name; if (! is_dir(dirname('.' . $image_url))) { /* mkdir(dirname('.' . $image_url)); chmod(dirname('.' . $image_url), 0777); */ $public_obj = new PublicAction(); $public_obj->Directory(dirname('.'.$image_url)); //umask($oldumask); } if(file_exists('.'.$image_url)){ return array( 'sta' => 0, 'code' => 2, 'filename' => $filename, 'imageName' => $image_name, 'url' => $image_url, 'msg' => '圖片已存在', ); } // 解碼 $decode = base64_decode(str_replace($result[1], '', $base64)); if (file_put_contents('.' . $image_url, $decode)) { $data['sta'] = 1; $data['code'] = 0; $data['filename'] = $filename; $data['imageName'] = $image_name; $data['url'] = $image_url; $data['msg'] = '保存成功!'; } else { $data['sta'] = 0; $data['code'] = 1; $data['filename'] = $filename; $data['imgageName'] = ''; $data['url'] = ''; $data['msg'] = '圖片保存失敗!'; } }else{ $data['sta'] = 0; $data['code']=1; $data['filename'] = $filename; $data['imgageName']=''; $data['url']=''; $data['msg']='base64圖片格式有誤!'; } return $data; }