下载php后如何将多张照片放在一个压缩文件中



我有这段代码,可以从私人站点下载几张图像。我希望所有这些图像都放在一个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;

相关内容

最新更新