public function upload(){
$url = "https://oss.aiqu.com/data/upload/game/20190226/5c7528c5d8df6.png";
$apifile = ROOTPATH.'api/game/sdk.php';
if (!is_file($apifile)) {
return dr_return_data(0, dr_lang('接口文件不存在'));
}
require $apifile;
print_r($sdk->upload($url,"测试-small".time()));
}
/**
*远程图片本地化
*@param string $img_url 图片地址
*@return int 归档id
*/
public function upload($img_url,$title){
$rt = \Phpcmf\Service::L('upload')->down_file([
'url' => $img_url,
'attachment' => \Phpcmf\Service::M('attachment')->get_attach_info(1), // 0值不属于存储策略,填写策略ID号表示附件存储策略,可以是远程存储,可以是本地存储,如果不用存储策略就填0
]);
if ($rt['code']) {
// 附件归档 可选
$att = \Phpcmf\Service::M('attachment')->save_data($rt['data'], $title);
if ($att['code']) {
return $att['code'];
}else{
return $att;
}
} else {
return $rt;
}
}提示:Array ( [code] => 0 [msg] => 远程获取的图片不是一张可用的图片 [data] => Array ( ) );
有哪位大佬知道原因吗?
/** * 下载文件 */ public function down_file($config) { /* $client = \Config\Services::curlrequest(); $res = $client->get($config['url'], [ 'timeout' => (int)$config['timeout'], ]); if ($res->getStatusCode() == 200) { $data = $res->getBody(); } else { log_message('error', '服务器无法下载文件:'.$config['url']); return dr_return_data(0, dr_lang('文件下载失败')); }*/ $data = dr_catcher_data($config['url'], (int)$config['timeout']); if (!$data) { log_message('error', '服务器无法下载文件:'.$config['url']); return dr_return_data(0, dr_lang('文件下载失败')); } $name = substr(md5(SYS_TIME.uniqid().$config['url']), rand(0, 20), 15); // 随机新名字 $file_ext = $this->_file_ext($config['url']); // 扩展名 // 安全验证 $rt = $this->_safe_check($file_ext, $data); if (!$rt['code']) { return dr_return_data(0, $rt['msg']); } $file_name = $this->_file_name($config['url']); // 文件实际名字 if (!$file_ext) { log_message('error', '无法获取文件扩展名:'.$config['url']); return dr_return_data(0, dr_lang('无法获取文件扩展名')); } // 保存目录名称 $path = isset($config['path']) && $config['path'] ? $config['path'].'/' : date('Ym', SYS_TIME).'/'; $file_path = $path.$name.'.'.$file_ext; // 开始上传存储文件 $rt = $this->save_file('content', $data, $file_path, $config['attachment'], (int)$config['watermark']); if (!$rt['code']) { return dr_return_data(0, $rt['msg']); } // 上传成功 $url = $config['attachment']['url'].$file_path; // 如果是图片先获取图片尺寸 $info = []; if (in_array($file_ext, ['jpg', 'jpeg', 'png', 'gif'])) { list($info['width'], $info['height']) = @getimagesize($config['attachment']['value']['path'].$file_path); // $img = getimagesize($config['attachment']['value']['path'].$file_path); // if (!$img) { // // 删除文件 // // 按照附件存储类型来保存文件 // $storage = new \Phpcmf\Library\Storage(); // $storage->delete($config['attachment'], $file_path); // return dr_return_data(0, dr_lang('远程获取的图片不是一张可用的图片')); // } // $info = [ // 'width' => $img[0], // 'height' => $img[1], // ]; } // 文件预览 $preview = dr_file_preview_html($url); return dr_return_data(1, 'ok', [ 'ext' => $file_ext, 'url' => $url, 'md5' => md5($data), 'file' => $file_path, 'size' => (int)$rt['data']['size'], 'path' => $config['attachment']['value']['path'].$file_path, 'name' => $file_name, 'info' => $info, 'remote' => $config['attachment']['id'], 'preview' => $preview, ]); }系统bug 结帖