Создать zip с PHP, добавляющим файлы с url

Мне было интересно, можно ли сделать следующее и с надеждой, что кто-то может мне помочь.

Я хотел бы создать функцию «загрузка zip», но когда пользователь нажимает на скачивание, кнопка выбирает изображения из моего внешнего домена, а затем связывает их с почтовым индексом, а затем загружает их для них.

Я проверил, как это сделать, и я не могу найти хороших способов захвата изображений и принуждения их к загрузке zip.

Я надеялся, что кто-то сможет помочь

# define file array $files = array( 'http://google.com/images/logo.png', 'http://img.ruphp.com/php/Wikipedia-logo-en-big.png/220px-Wikipedia-logo-en-big.png', ); # create new zip object $zip = new ZipArchive(); # create a temp file & open it $tmp_file = tempnam('.', ''); $zip->open($tmp_file, ZipArchive::CREATE); # loop through each file foreach ($files as $file) { # download file $download_file = file_get_contents($file); #add it to the zip $zip->addFromString(basename($file), $download_file); } # close zip $zip->close(); # send the file to the browser as a download header('Content-disposition: attachment; filename="my file.zip"'); header('Content-type: application/zip'); readfile($tmp_file); unlink($tmp_file); 

Примечание. В этом решении предполагается, что разрешен allow_url_fopen . В противном случае изучите использование cURL для загрузки файла.

Надеюсь, я не понял неправильно.

http://php.net/manual/en/book.zip.php

Я не пробовал это, но похоже, что вы ищете.

 <?php $zip = new ZipArchive; if ($zip->open('my_archive.zip') === TRUE) { $zip->addFile($url, basename($url)); $zip->close(); echo 'ok'; } else { echo 'failed'; } ?>