当前位置: 首页 > news >正文

PHP 将图片url,写入到文件夹中,导出到zip下载到桌面

一:将图片写入到文件内
文件url:比如 【https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=false&word=%E5%9B%BE%E7%89%87%E5%A4%B4%E5%83%8F&hs=0&pn=1&spn=0&di=7466852183703552001&pi=0&rn=1&tn=baiduimagedetail&is=3775720047%2C2353259150&ie=utf-8&oe=utf-8&cl=2&lm=-1&cs=2052511577%2C1164310870&os=3775720047%2C2353259150&simid=3311344121%2C375144931&adpicid=0&lpn=0&ln=30&fr=ala&fm=&sme=&cg=head&bdtype=0&oriquery=%E5%9B%BE%E7%89%87%E5%A4%B4%E5%83%8F&objurl=https%3A%2F%2Fiknow-pic.cdn.bcebos.com%2Fbd3eb13533fa828b6d387b7def1f4134970a5a11&fromurl=ippr_z2C%24qAzdH3FAzdH3F4k1_z%26e3Bkwt17_z%26e3Bv54AzdH3Fgjofrw2jAzdH3F1wpwAzdH3F1pswg1tg2f7rj6%3Fgt1%3D1p_9bl8ccccln88cbamnmd&gsm=&islist=&querylist=&dyTabStr=MCwxMiwzLDEsMiwxMyw3LDYsNSw5】,
所有格式的图片都支持

 $savePath = __DIR__ . "/../../runtime/logs/images"; // 确保此目录存在并且可写
  foreach ($imageUrls as $imageUrl) {
       $fileName = basename($imageUrl);
       $saveFile = $savePath . '_' . $num;

       $imageData = @file_get_contents($imageUrl);
       if ($imageData !== false) {
           file_put_contents($saveFile, $imageData);
           echo "下载图片成功: $fileName" . PHP_EOL;
       } else {
           echo "下载图片成功失败: $imageUrl" . PHP_EOL;
       }
       $num++;
   }

二:将刚才文件夹内的图片写入到zip文件内,

   $zipFile = __DIR__ . '/../../runtime/logs/images/images.zip';
   $zip = new \ZipArchive();
    if ($zip->open($zipFile, \ZipArchive::CREATE | \ZipArchive::OVERWRITE) !== TRUE) {
        echo "无法创建ZIP文件" . PHP_EOL;
        exit;
    }
    $saveFiles = glob($savePath . '*', GLOB_BRACE);// 获取下面所有文件
    if (empty($saveFiles)) {
        echo "没有可下载的图片" . PHP_EOL;
        exit;
    }

    foreach ($saveFiles as $file) {
        if (is_file($file)) { // 确保只处理文件
            $filename = basename($file);
            if ($zip->addFile($file, $filename) === false) {
                echo "无法添加文件 {$filename} 到 ZIP 文件" . PHP_EOL;
            }
        }
    }
    $zip->close();

文章转载自:

http://KFy24Efw.srgwr.cn
http://hUIwO0oQ.srgwr.cn
http://7AQCAjCL.srgwr.cn
http://LQkuFPNU.srgwr.cn
http://NYJEHP37.srgwr.cn
http://kzoeUwNr.srgwr.cn
http://Kj2P6ML6.srgwr.cn
http://74cGBhrb.srgwr.cn
http://rS2opVeY.srgwr.cn
http://zteUhJ3m.srgwr.cn
http://3LbuRbNl.srgwr.cn
http://xoW38Yui.srgwr.cn
http://YNyIm3UX.srgwr.cn
http://S7qPnZ5f.srgwr.cn
http://kx4MLAe3.srgwr.cn
http://C46TTNB9.srgwr.cn
http://ie13pAqS.srgwr.cn
http://Cg9uBAGX.srgwr.cn
http://Rzg9Z7JC.srgwr.cn
http://QiqBT7gh.srgwr.cn
http://b5WLUBtE.srgwr.cn
http://7fmuEUsT.srgwr.cn
http://oGFWBwGO.srgwr.cn
http://YsxjKPoG.srgwr.cn
http://9FtFesXK.srgwr.cn
http://mwgJlYPY.srgwr.cn
http://YqWVZRTq.srgwr.cn
http://JqtnREWl.srgwr.cn
http://j3F9AhvV.srgwr.cn
http://iS0NBKuT.srgwr.cn
http://www.dtcms.com/a/52633.html

相关文章:

  • Nginx 部署 Vue.js 项目指南:结合慈云数据服务器的实践
  • ZYNQ-PL学习实践(二)按键和定时器控制LED闪烁灯
  • AJAX 数据库
  • 2025年渗透测试面试题总结-字某跳动-渗透测试实习生(题目+回答)
  • K8s 1.27.1 实战系列(二)安装集群并初始化
  • Webshell 入侵与防御全攻略
  • 9、什么是深拷贝?什么是浅拷贝?
  • 【三.大模型实战应用篇】【7.自然语言转SQL升级版:更智能的查询生成】
  • 22.代码随想录算法训练营第二十二天|77. 组合,216. 组合总和 III,17. 电话号码的字母组合
  • 北方算网联合发布全国产化DeepSeek一体机:开启国产AI算力新时代
  • 【分布式锁通关指南 06】源码剖析redisson可重入锁之加锁
  • 【15】蚂蚁链产品与服务
  • Scala 中的数据类型
  • 上海市闵行区数据局调研云轴科技ZStack,共探数智化转型新路径
  • koa-session设置Cookie后获取不到
  • 解决Spring Boot中LocalDateTime返回前端数据为数组结构的问题
  • 【C#】委托是什么
  • LLM | 论文精读 | CVPR | PEACE : 通过多模态大语言模型(MLLMs)赋能地质图全面理解
  • doris: MySQL
  • ASP .NET Core 学习(.NET9)Serilog日志整合
  • *pu相关概念介绍
  • 获取Kernel32基地址
  • 如何构建一个 Docker 镜像?
  • [数字图像处理]实验三:直方图增强
  • 快速生成viso流程图图片形式
  • web渲染技术与SEO—第一章—SEO详解
  • Redis——快速入门
  • Redis 主从复制、哨兵与集群的关系及工作原理详解
  • 关于 QPalette设置按钮背景未显示出来 的解决方法
  • Spring 为什么要有依赖注入