IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> php 的七牛云文件上传 -> 正文阅读

[PHP知识库]php 的七牛云文件上传

首先是composer;

composer require qiniu/php-sdk

封装一个方法方便调用

namespace tool\qiniu;

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

class Qiniu
{
    static private $accessKey = "wVQ_Q0xhOlbqjlda02316GuymOmwJq48lt_YB9SC";
    static private $secretKey = "0973uDj-kRxA6VsvEXH-VxAh592oemjmhbXVSAB0";
    static private $bucket = "lanjinghexuan";
    static private $http_host = "qy64cs0vy.hd-bkt.clouddn.com";

    //获取上传凭证后表单上传
    public function token()
    {
        $auth = new Auth(self::$accessKey, self::$secretKey);
        $token = $auth->uploadToken(self::$bucket);
        return json(['status' => 1, 'msg' => '成功', 'data' => $token]);
    }

    //服务器直传
    public static function image()
    {
        if(empty($_FILES['file']['tmp_name'])){
            explode('图片不合法',404);
        }

        // 要上传文件的临时文件
        $file = $_FILES['file']['tmp_name'];

        $pathinfo = pathinfo($_FILES['file']['name']);

        // 通过pathinfo函数获取图片后缀名
        $ext = $pathinfo['extension'];

        $conf = config('qiniu');

        // 构建鉴权对象
        $auth = new Auth($conf['ak'],$conf['sk']);

        // 生成上传需要的token
        $token = $auth->uploadToken($conf['bucket']);

        // 上传到七牛后保存的文件名
        $filename = date('Y').'/'.date('m').'/'.substr(md5($file),8,5).date('Ymd').rand(0,9999).'.'.$ext;


        // 初始化UploadManager类
        $uploadMgr = new UploadManager();
        list($res,$err) = $uploadMgr->putFile($token,$filename,$file);
        if($err !== null){
            return null;
        }else{
            //返回文件整个路径
            return self::$http_host.'/'.$filename;
        }
    }
}

在别的地方调用;

\tool\qiniu\Qiniu::image();

关于文件删除

public static function delimage($delFileName)
    {
        // 判断是否是图片  目前测试,简单判断
        $isImage = preg_match('/.*(\.png|\.jpg|\.jpeg|\.gif)$/', $delFileName);
        if(!$isImage){
            return false;
        }
        $conf = config('qiniu');

        // 构建鉴权对象
        $auth = new Auth($conf['ak'],$conf['sk']);

        // 配置
        $config = new \Qiniu\Config();

        // 管理资源
        $bucketManager = new \Qiniu\Storage\BucketManager($auth, $config);

        // 删除文件操作
        $res = $bucketManager->delete($conf['bucket'], $delFileName);

        if (is_null($res)) {
            // 为null成功
            echo '删除失败';
            return true;
        }
        dump('删除成功');
        return false;

    }

首先文件删除必须传文件名

调用的例子

$img = input('img');
        \tool\qiniu\Qiniu::delimage($img);

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:19:43  更:2021-08-24 15:22:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 3:13:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码