转:https://www.cnblogs.com/adobe-lin/p/7699638.html

这里以上传图片为例 上传其他文件也是大同小异

使用composer安装gmars/tp5-qiniu

安装成功则在vendor目录下多出一个目录 这个目录含有整合七牛云的所有类包等文件

控制器中添加upload方法

public function upload() {

if(request()->isPost()) {

$qiniu = new \gmars\qiniu\Qiniu('你的ak','你的sk','文件夹目录名称');

$result = $qiniu->upload();

if($result === false) {

return json(['status'=>'-1','msg'=>"上传失败"]);

} else {

return json(['status'=>'0','msg'=>"上传成功"]);

}

} else {

return $this->fetch();

}

}

修改以下文件

修改79行开始的几处代码

public function upload($saveName = '', $bucket = '')

{

$token = $this->_getUploadToken($bucket);

$files = $_FILES;

if (empty($files)) {

throw new Exception('没有文件被上传', 10002);

}

$values = array_values($files);

$uploadManager = new UploadManager();

if (empty($saveName)) {

// 定义文件存储名称 以上传时的时间戳为文件名

$saveName = time().strrchr($values[0]['name'],'.');

}

$infoArr = explode('.', $values[0]['name']);

$extension = array_pop($infoArr);

$fileInfo = $saveName . '.' . $extension;

list($ret, $err) = $uploadManager->putFile($token, $saveName, $values[0]['tmp_name']);

if ($err !== null) {

// 上传失败

return false;

}

// 上传成功返回文件名

return $ret['key'];

}

查看原文