可以通过以下步骤实现:
<?php
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="images.zip"');
$images = array(
'https://example.com/image1.jpg',
'https://example.com/image2.jpg',
'https://example.com/image3.jpg'
);
foreach ($images as $image) {
$imageData = file_get_contents($image);
$tempFile = tempnam(sys_get_temp_dir(), 'image');
file_put_contents($tempFile, $imageData);
// TODO: 将临时文件添加到一个压缩文件中
}
$zip = new ZipArchive();
$zipFile = 'images.zip';
if ($zip->open($zipFile, ZipArchive::CREATE) === TRUE) {
foreach ($images as $image) {
$imageData = file_get_contents($image);
$tempFile = tempnam(sys_get_temp_dir(), 'image');
file_put_contents($tempFile, $imageData);
$zip->addFile($tempFile, basename($image));
}
$zip->close();
// 提供下载链接
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="' . $zipFile . '"');
readfile($zipFile);
// 删除临时文件
foreach ($images as $image) {
$tempFile = tempnam(sys_get_temp_dir(), 'image');
unlink($tempFile);
}
// 删除压缩文件
unlink($zipFile);
}
<a href="download.php">下载图片</a>
这样,当用户点击该链接时,浏览器将下载一个名为images.zip的压缩文件,其中包含了指定的多张图片。
对于腾讯云相关产品和产品介绍链接地址,可以参考腾讯云官方文档或网站来获取相关信息。
领取专属 10元无门槛券
手把手带您无忧上云