基于七牛图上传

本文介绍了一个基于七牛云的图片上传组件实现,利用PHP语言进行开发,通过验证、生成上传Token,并将图片上传至指定的存储桶,同时详细记录了上传过程中的关键步骤和技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


<?php
/**

  • Created by PhpStorm.
  • User: admin
  • Date: 2018/10/10
  • Time: 20:32
    */

namespace app\common\lib;

use Qiniu\Auth; //引用鉴权类
use Qiniu\Storage\UploadManager;
use think\Controller; //应用上传类

/**

  • 基于七牛图图片上传基类
  • Class Upload
  • @package app\common\lib
    /
    class Upload extends Controller
    {
    /
    *
    • 图片异常
      */
      public static function image()
      {

      if (empty($_FILES[‘file’][‘tem_name’])) {
      exception(‘提交图片不合法’, 404);
      }

      // 要上传的临时文件名
      $filePath = $_FILES[‘file’][‘tmp_name’];
      $ext = explode(’.’, $_FILES[‘file’][‘name’]);
      //pathinfo ( $_File[‘file’][‘name’]); 获取扩展名

      $ext = $ext[1];
      /*
      这是配置里面的参数
      *return [
      ‘ak’=>‘xxxx’,
      ‘sk’=>‘xxxx’,
      ‘bucket’=>‘shop’,
      ‘image_url’=>‘七牛云的地址’
      */
      //构建一个鉴权

      $config = config(‘qiniu’); //获取配置里面参数
      //构建一个鉴权对象
      auth=newAuth(auth = new Auth(auth=newAuth(config[‘ak’], $config[‘sk’]);
      // 生成上传的token
      $token = auth−&gt;uploadToken(auth-&gt;uploadToken(auth>uploadToken(config[‘bucket’]);
      // 上传到七牛的按年月日文件名
      key=date(′Y′).′/′.date(′m′).′/′.date(′d′).′/′.substr(md5(key = date(&#x27;Y&#x27;) . &#x27;/&#x27; . date(&#x27;m&#x27;) . &#x27;/&#x27; . date(&#x27;d&#x27;) . &#x27;/&#x27; . substr(md5(key=date(Y)./.date(m)./.date(d)./.substr(md5(filePath), 0, 6)
      . date(“YmdHis”) . rand(0, 100000) . ‘.’ . $ext;

      //初始化uploadMananger 类
      /**

      • 上传文件到七牛
      • @param $upToken 上传凭证
      • @param $key 上传文件名
      • @param $filePath 上传文件的路径
      • @param $params 自定义变量,规格参考
      •                http://developer.qiniu.com/docs/v6/api/overview/up/response/vars.html#xvar
        
      • @param $mime 上传数据的mimeType
      • @param $checkCrc 是否校验crc32
      • @return array 包含已上传文件的信息,类似:
      •                                          [
        
      •                                              "hash" => "<Hash string>",
        
      •                                              "key" => "<Key string>"
        
      •                                          ]
        
      • */
        uploadManamger=newUploadManager();list(uploadManamger = new UploadManager(); list(uploadManamger=newUploadManager();list(ret,$error) = uploadManamger−&gt;putFile(uploadManamger-&gt;putFile(uploadManamger>putFile(token,key,key,key,filePath);
        if ($error){
        return null;
        }else{
        return $key;
        }
        }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值