一、准备工作
1.注册七牛云账号
2.选择对象储存->创建空间->设置为公开
3.在config配置文件中添加以下代码
1 \'UPLOAD_FILE_QINIU\' => array ( 2 \'maxSize\' => 5 * 1024 * 1024,//文件大小 3 \'rootPath\' => \'./根目录/\', 4 \'savePath\' => \'子目录\',// 文件上传的保存路径 5 \'saveName\' => array (\'uniqid\', \'\'), 6 \'exts\' => [\'zip\', \'rar\', \'txt\', \'doc\', \'docx\', \'xlsx\', \'xls\', \'pptx\', \'pdf\', \'chf\'], // 设置附件上传类型 7 \'driver\' => \'Qiniu\',//七牛驱动 8 \'driverConfig\' => array ( 9 \'secretKey\' => \'<这里填七牛SK>\', 10 \'accessKey\' => \'<这里填七牛AK>\', 11 \'domain\' => \'<这里填七牛提供的域名>\', 12 \'bucket\' => \'<空间名称>\', 13 ) 14 ),
二、利用thinkPHP上传文件到七牛云
1.新建upload控制器->uploadFile方法
1 public function uploadTicketFile() 2 { 3 $setting = C(\'UPLOAD_FILE_QINIU\'); 4 5 $Upload = new \Think\Upload($setting); 6 7 $info = $Upload->upload($_FILES); 8 9 $path = str_replace(\'/\',\'_\',$info[\'file\'][\'savepath\']); 10 11 $filename = $path.$info[\'file\'][\'savename\'];//七牛云保存的文件名称 12 13 if(!$info) 14 { 15 $data = [\'status\'=>0,\'msg\'=>\'上传失败,\'.$Upload->getError()]; 16 } 17 else 18 { 19 $data = [ 20 \'status\'=>1, 21 \'msg\' => \'上传成功\', 22 \'name\' => $_FILES[\'file\'][\'name\'], 23 \'size\' => $_FILES[\'file\'][\'size\'], 24 \'cname\' => $filename, 25 \'type\' => $info[\'file\'][\'ext\'], 26 \'link\' => $info[\'file\'][\'url\'], 27 ]; 28 } 29 30 echo json_encode($data); 31 32 exit; 33 }
三.利用thinkPHP删除七牛云上的文件
1.upload控制器->新建delFile方法
1 public function delFile() 2 { 3 $setting = C(\'UPLOAD_FILE_QINIU\'); 4 5 $file_name = I(\'post.file_name\');//要删除的文件名称 6 7 $Qiniu = new Think\Upload\Driver\Qiniu\QiniuStorage($setting[\'driverConfig\']); 8 9 $result = $Qiniu->del($file_name); 10 11 $error = $Qiniu->errorStr;//错误信息 12 13 if(is_array($result) && !($error)) 14 { 15 $data = [\'status\'=>1,\'msg\'=>\'删除文件成功\']; 16 } 17 else 18 { 19 $data = [\'status\'=>0,\'msg\'=>\'删除文件失败,\'.$error]; 20 } 21 22 echo json_encode($data); 23 24 exit; 25 }
最后,若有不足之处,请勿喷,欢迎指正!