thinkphp3 上传图片到阿里云
1,下载阿里云sdk,点击这里
![image.png](http://www.qigebao.com/wp-content/uploads/image/20180914/1536894080.png)
2,解压zip文件,并把解压的文件夹放到thinkphp的ThinkPHP/Library/Vendor/目录下(AlySdk名字是自己重命名的,改成啥都行,就是解压出来的那个文件夹)
![image.png](http://www.qigebao.com/wp-content/uploads/image/20180914/1536894428.png)
3,在接收文件的方法里,先检测有没有接收到文件empty($_FILES),如果有,则调用thinkphp Upload类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public function upload(){ if ( empty ( $_FILES )) { $this ->ajaxReturn([ 'error' =>1, 'msg' => "文件为空" , 'status' => 'error' ]); } // 实例化上传类 $upload = new \Think\Upload(); $upload ->rootPath = './Runtime/Temp/' ; $info = $upload ->upload(); //引入阿里云sdk $oss = Vendor( 'AlySdk.autoload' ); $oss = new \OSS\OssClient(阿里云的key),C(阿里云的accessKeySecret),C(阿里云的endpoint)); $object = date ( 'Y-m-d' ) . '/' . $info [ 'file' ][ 'savename' ]; $file = $upload ->rootPath . $info [ 'file' ][ 'savepath' ] . $info [ 'file' ][ 'savename' ]; $getOssInfo = $oss ->uploadFile(阿里云的bucket), $object , $file ); //print_r($getOssInfo['info']);exit; $kuangshi = self::kuangshiGet( $getOssInfo [ 'info' ][ 'url' ]); if ( $getOssInfo [ 'info' ][ 'url' ]) $this ->ajaxReturn([ 'code' =>200, 'url' => $getOssInfo [ 'info' ][ 'url' ], 'kuangshi' => $kuangshi ]); $this ->ajaxReturn([ 'code' =>-1, 'msg' => "图片上传失败" ]); } |