七牛云持久化上传图片及生成缩略图,多文件打包下载

本文介绍了在TP5.1框架下使用七牛云服务进行图片持久化上传、生成缩略图以及如何实现多文件打包下载的详细步骤。文中提到的代码示例包括异步通知处理,用于保存服务器上的缩略图并删除七牛云上的缩略图。此外,还展示了如何将多个文件打包成ZIP并在七牛云上存储。访问作者博客以获取更多内容。
摘要由CSDN通过智能技术生成

欢迎大家访问我的博客 blog.ayla1688.cool


上代码之前,我想吐槽一下七牛云的DEMO, 写的确实不咋地。

废话不多说,咱们开始吧。

项目框架TP5.1 , 之前别人写了一点,懒得改七牛云的SDK目录,强迫症患者将就着看看吧,

qiniu的phpSDK 放在了vendor文件夹下。

1. 持久化处理上传及生成缩略图。 由于上传的图片较大 20M + , 所以采用了持久化处理上传,putfile  20M的图片是不让你上传的。

newFilename 就是保存在七牛云上的原图key, 

oldFilePath 服务器上图片的地址,服务器缓存中的地址

persistentops :  对图片进行的操作,如果有多个操作则用 , 隔开。 

persistentNotifyUrl 是异步返回的通知地址, 在这个方法中我们要进行的操作就是保存缩略图到服务器并删除七牛云上的缩略图。

完成的操作:设置了原图的key, 将原图保存后,生成 200*200的缩略图保存在七牛云。

private function uploadImgPost($newFilename, $oldFilepath){
        set_time_limit(0);
        $t1 = microtime(true);
        require_once APP_PATH . '/../vendor/qiniu/autoload.php';
        // 构建鉴权对象
        $auth = new Auth($this->accessKey, $this->secretKey);
        //生成保存文件的key
        $explode = explode(".", $newFilename);
        $thumbKey = $explode[0] . "_thumb" .".". $explode[1];
        $entry = $this->bucket .":". $thumbKey;
        $encodedEntryURI = \Qiniu\base64_urlSafeEncode($entry);
        $array = [
            'persistentOps'=>'imageView2/2/w/200/h/200/q/70/ignore
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值