Think PHP 5 实现图片上传到七牛云

1.利用composer下载依赖包

composer require qiniu/php-sdk

2.在控制器头部引用文件

    use Qiniu\Auth;
    use Qiniu\Storage\BucketManager;
    use Qiniu\Storage\UploadManager;

3.在控制器中写入添加方法

public function uploadBanner()
{
  //接收文件上传的值
  $file = $_FILES;

  //本地的文件路径
  $localFilePath = $file['logo']['tmp_name'];

  //截取文件后缀名
  //$suffix = '.jpg';
  $suffix = strtolower(substr($file['logo']['name'],strpos($file['logo']['name'],'.')));

  //生成一个唯一的文件名称,重命名 (md5加密原文件名+秒+随机数)
  $fileName = md5($file['logo']['name']) . date('s',time()) . rand(1,9999999);
  $fileName .= $suffix;

  //上传七牛云业务逻辑   这两个密钥获取在主页鼠标放到头像后点击密钥管理获取
  $accessKey = ''; //去控制台的秘钥管理拿AK
  $secretKey = '';//去控制台的秘钥管理拿SK
  $auth = new Auth($accessKey, $secretKey);
  //七牛云桶名,根据自己实际进行填写
  $bucket = '';
  // 生成上传Token
  $token = $auth->uploadToken($bucket);
  // 构建 UploadManager 对象
  $uploadMgr = new UploadManager();

  // 调用 UploadManager 的 putFile 方法进行文件的上传。
  list($ret, $err) = $uploadMgr->putFile($token, $fileName, $localFilePath);

  //错误信息提示
  if ($err != null) {
    //可调整为错误页面
    $this->error('上传文件失败');
  }

  //把七牛云图片路径存储到我们自己的数据库 七牛云图片路径  此网址填写自己的网址
  $imageUrl = 'http://qy66342pz.hn-bkt.clouddn.com/' . $fileName;

  $result =BannerModel::create([
    'image_url'=>$imageUrl,
   ]);

  $this->success('上传文件成功');
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值