require_once __DIR__.'/../../qiniu/autoload.php';
/**
* 上传文件
*/
public function imageupload() {
$imagefileinfo = $_FILES;
$res = $this->uploadImg($imagefileinfo['images']['tmp_name']);
if($res){
$status = 'success';
$info = $res;
$msg = '';
}else{
$status = 'error';
$info = (object)[];
$msg = 'File upload failed!';
}
return $this->echoJson([
'status' => $status,
'info' => $info,
'msg' => $msg
]);
}
/*
* @ 上传远端图片
* @ params $imgUrl 图片地址
* */
public function uploadImg($imgUrl)
{
#读取网上图片内容
$Data = self::getData($imgUrl);
//删除图片缓存
unlink($imgUrl);
$auth = new Auth($this->access_key, $this->secret_key);
$token = $auth->uploadToken($this->bucket);
#上传图片
$key = 'headimgUrl_'.microtime(true).'.jpg';
$up = new UploadManager();
$mime = 'image/jpeg';
/* #上传的音频
$key = 'audioUrl_'.microtime(true).'.mp3';
$up = new UploadManager();
$mime = 'audio/mpeg';
#上传视频
$key = 'VideoUrl_'.microtime(true).'.mp4';
$up = new UploadManager();
$mime = 'video/mp4';
*/
list($rest, $err) = $up->put($token, $key, $Data, null, $mime);
if ($err) {
// print_r($err);
} else {
$domain = $this->config->filedomain;
#获取上传到七牛云的图片url
$uploadUrl = $domain.$rest['key'];
return $uploadUrl;
}
}
/*
* @ 获取内容
* @ params $imgUrl 地址
* */
protected function getData($Url)
{
$substr = substr($Url,0,4);
if($substr == 'http'){
$ch = curl_init($Url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
//读取图片信息
$rawData = curl_exec($ch);
curl_close($ch);
}else{
$rawData = file_get_contents($Url);
}
return $rawData;
}