发文时间:2022年05月30日 14:30:02 编辑:Aaron 标签:thinkPHP 七牛云 1552
站点的图片文件或js等静态资源放在cdn上是一种不错的选择,可以减轻服务器的带宽压力,同时也增加访问速度。
//ps:下载了Composer的可以直接通过命令下载 php composer.phar require qiniu/php-sdk
<?php // +---------------------------------------------------------------------- // | Controller function:七牛云文件上传类 // +---------------------------------------------------------------------- // | Modified By: Aaron // +---------------------------------------------------------------------- // | last-modified time:2022年05月14日14:23:12 // +---------------------------------------------------------------------- namespace app\admin\controller; use app\admin\controller\Bass; //引入七牛云sdk require VENDOR_PATH.'php-qiniu-sdk/autoload.php'; // 引入鉴权类 use Qiniu\Auth; // 引入上传类 use Qiniu\Storage\UploadManager; class QiNiu extends Bass { private $accessKey ="在七牛云后台获取";//填入对应的信息 private $secretKey = "在七牛云后台获取";//填入对应的信息 private $bucket = "aaroner"; /* * 文件上传到七牛云 * $file_Path 当前所需上传的文件路径 * $file_name 当前文件的后缀 png gif等 * return [] */ public function QnUploadFile($file_Path,$file_type){ // 构建鉴权对象 $auth = new Auth($this->accessKey, $this->secretKey); // 生成上传 Token $token = $auth->uploadToken($this->bucket); // 要上传文件的本地路径 $filePath = $file_Path; // 上传到七牛后保存的文件名(保存到指定目录下 AaronWebImg 好管理) // $key = 'AaronWebImg/图片名称.png'; $key='AaronWebImg/'.date("Ymd-His").'-'.rand('100000','9999999').'.'.$file_type; // 初始化 UploadManager 对象并进行文件的上传。 $uploadMgr = new UploadManager(); // 调用 UploadManager 的 putFile 方法进行文件的上传。 list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath); if ($err !== null) { return [ 'state'=>'error', 'msg'=>'上传文件失败!' ]; } else { /* * 成功案例 array (size=2) 'hash' => string 'FjS-T00TKVWzXxzkI9HHIJidz7wO' (length=28) 'key' => string 'AaronWebImg/my-php-logo66666.png' (length=32) */ return [ 'state'=>'success', 'msg'=>'上传文件成功!', 'hash'=>$ret['hash'], 'key'=>$ret['key'],//七牛云文件目录 ]; } } /* * 删除七牛云文件信息 * $file_name 当前需删除的文件名 * return [] */ public function delUploadFile($file_name){ // 构建鉴权对象 $auth = new Auth($this->accessKey, $this->secretKey); $config = new \Qiniu\Config(); $bucketManager = new \Qiniu\Storage\BucketManager($auth, $config); $err = $bucketManager->delete($this->bucket, $file_name); if ($err) { /* * 成功案例 dump($err); array (size=2) 0 => null 1 => null */ if(empty($err[1])){ return [ 'state'=>'success', 'msg'=>'删除文件成功!' ]; } return [ 'state'=>'error', 'msg'=>"删除文件失败! " ]; } return [ 'state'=>'error', 'msg'=>'获取七牛云删除状态失败,请稍后再试!' ]; } }
若无特殊说明,此文章为博主原创。 写稿不易,如需转载,请注明出处: https://www.aaroner.cn/art/62.html
thinkPHP5框架实现七牛云文件上传和删除功能
发文时间:2022年05月30日 14:30:02 编辑:Aaron 标签:thinkPHP 七牛云 1552
站点的图片文件或js等静态资源放在cdn上是一种不错的选择,可以减轻服务器的带宽压力,同时也增加访问速度。
官方文档地址 https://developer.qiniu.com/kodo/1241/php
我这边是直接通过下载PHP SDK然后在框架里引入使用
我的项目七牛云空间地址放此路径
完整代码
若无特殊说明,此文章为博主原创。
写稿不易,如需转载,请注明出处: https://www.aaroner.cn/art/62.html