二开云豹时遇到七牛云不好使的情况,也不知道是因为配置的问题还是云豹的七牛云版本问题,反正就是不行,于是自己另起一个站点作为七牛云的…因为实在不会这个π框架````
//图片转接上传七牛云
public function getFile(){
$datas = $this->request->param();
$file = "文件路径";
$key = "上传七牛云的文件名";
header('Content-type:text/html; charset=utf-8'); //声明编码
$ch = curl_init();
$files = "文件的路径(不管绝对还是相对,能找到就行)";
$url = 'http://xxx.com/xxx/xxx/xxx?key='.$key."&files=".$files;//下面那个方法的路径,传参请根据业务需要来
$rr = curl_file_create($files);
//post数据,使用@符号,curl就会认为是有文件上传
$curlPost = array('image'=>$rr);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1); //POST提交
curl_setopt($ch, CURLOPT_POSTFIELDS,$curlPost);
$data =curl_exec($ch);
curl_close($ch);
}
/**
* 图片上传 上传到七牛云
* @return String 图片的完整URL
*/
public function qiniuUpload()
{
//七牛云怎么用就不赘述了,这就是正常的七牛云上传,主要地方在上一个方法
$data = $this->request->param();
$file = request()->file('image');
$key = $data['key'];
$files = $data['files'];
// 要上传图片的本地路径
$filePath = $file->getRealPath();
$ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION); //后缀
//获取当前控制器名称
// $controllerName=$this->getContro();
// 上传到七牛后保存的文件名
require_once APP_PATH . '/../vendor/qiniu/autoload.php';
// 需要填写你的 Access Key 和 Secret Key
$accessKey = config('ACCESSKEY');
$secretKey = config('SECRETKEY');
// 构建鉴权对象
$auth = new Auth($accessKey, $secretKey);
// 要上传的空间
$bucket = config('BUCKET');
$domain = config('DOMAINImage');
$token = $auth->uploadToken($bucket);
// 初始化 UploadManager 对象并进行文件的上传
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
if ($err !== null) {
// return $this->info('10004','上传失败');
} else {
//删除本地的文件
if(file_exists($files)) {
unlink($files);
}
// return $this->info('10000','上传成功',$data);
}
}
留作记录