我有这段代码,可以从私人站点下载几张图像。我希望所有这些图像都放在一个zip文件中。我该怎么做?
<?php
$num = $_POST['num'];
for ($i=1; $i <= $num ; $i++) {
$url_to_image = $_POST['img'].$i.'.jpg';
$my_save_dir = "manga/" ;
$filename = basename($url_to_image);
$complete_save_loc = $my_save_dir . $filename;
file_put_contents($complete_save_loc,
file_get_contents($url_to_image));
echo $i ."jpg". " /download" . '<br>';
}
?>
您可以使用 php-ZipArchive 类。 http://php.net/manual/de/zip.examples.php如果你没有用选项 --enable-zip 编译你的 php-interpreter,你可以使用 php shell 执行函数(exec、shell_exec、passthru(来使用主机系统 zip。
你可以像下面这样尝试ZipArchive
$zip = new ZipArchive();
$my_save_dir = "manga/files.zip";
$zip->open($my_save_dir, ZipArchive::CREATE);
$num = $_POST['num'];
for ($i=1; $i <= $num ; $i++) {
$url_to_image = $_POST['img'].$i.'.jpg';
$download_file = file_get_contents($url_to_image);
$zip->addFromString(basename($url_to_image), $download_file);
}
$zip->close();
echo $my_save_dir;