php 图片批量下载打包
时间: 2023-11-30 09:17:09 浏览: 63
你可以使用 PHP 的 cURL 库来实现批量下载图片,并使用 ZipArchive 类将其打包成一个压缩文件。以下是一个简单的示例代码:
```php
<?php
// 图片链接数组
$url_array = array(
"https://example.com/image1.jpg",
"https://example.com/image2.jpg",
"https://example.com/image3.jpg"
);
// 创建 ZipArchive 对象
$zip = new ZipArchive();
$zip_name = "images.zip";
// 打开压缩文件并准备添加文件
if ($zip->open($zip_name, ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
// 循环下载并添加图片到压缩文件
foreach ($url_array as $url) {
// 获取文件名
$file_name = basename($url);
// 初始化 cURL
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 执行 cURL 请求
$data = curl_exec($ch);
// 添加文件到压缩文件
$zip->addFromString($file_name, $data);
// 关闭 cURL
curl_close($ch);
}
// 关闭压缩文件
$zip->close();
// 下载压缩文件
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zip_name);
header('Content-Length: ' . filesize($zip_name));
readfile($zip_name);
// 删除压缩文件
unlink($zip_name);
```
这段代码将会下载 `$url_array` 中的图片,并将其添加到名为 `images.zip` 的压缩文件中。最后,它会将压缩文件发送给用户以供下载,并删除本地的压缩文件。你可以根据需要修改代码来满足你的需求。
阅读全文