PHP获取远程线上图片 压缩包格式让用户下载

PHP获取远程线上图片 压缩包格式让用户下载,第1张

概述/***下载图片并生成压缩包*@param$data图片数组,一维*@param$dir存放路径*@returnstring*/publicfunctiondemoOne(){//线上图片链接$url=["https://z3.ax1x.com/2021/05/22/gLICwR.jpg","htt
   /**     * 下载图片并生成压缩包     * @param $data    图片数组,一维     * @param $dir     存放路径     * @return string     */    public function demoOne()    {        //线上图片链接        $url = ["https://z3.ax1x.com/2021/05/22/gliCwR.jpg","https://z3.ax1x.com/2021/05/22/gLTRF1.jpg"];        //保存的位置        $dir = "img/";        //判断目录是否存在 不存在则创建        if (!file_exists($dir)) {            mkdir($dir, 0777, true);        }        // 压缩包文件名        $zipname = date('His') . mt_rand(1000, 9999) . '.zip';        // 文件路径        $zipnameUrl = $dir . $zipname;        $zip = new \ZipArchive();        if ($zip->open($zipnameUrl, \ZipArchive::OVERWRITE) !== true) {            //OVERWRITE 参数会覆写压缩包的文件 文件必须已经存在            if ($zip->open($zipnameUrl, \ZipArchive::CREATE) !== true) {                // 文件不存在则生成一个新的文件 用CREATE打开文件会追加内容至zip                return '下载失败,文件夹不存在';            }        }        foreach ($url as $file) {            //抓取图片内容  file_get_contents可用curl代替 curl效率高            $fileContent = file_get_contents($file);            //添加图片            $zip->addFromString(basename($file), $fileContent);        }           $zip->close();        //没有文件        if (!file_exists($zipnameUrl)) {            return '下载失败,图片不存在或无法下载';        }        header("Cache-Control: public");        header("Content-Description: file Transfer");        header('Content-disposition: attachment; filename=' . $zipname); //文件名        header("Content-Type: application/zip"); //zip格式的        header("Content-transfer-encoding: binary"); //告诉浏览器,这是二进制文件        header('Content-Length: ' . filesize($zipnameUrl)); //告诉浏览器,文件大小        flush();        @readfile($zipnameUrl);        unlink($zipnameUrl); // 删除压缩包 不占空间    }

  

总结

以上是内存溢出为你收集整理的PHP获取远程线上图片 压缩包格式用户下载全部内容,希望文章能够帮你解决PHP获取远程线上图片 压缩包格式让用户下载所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1167312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存