Копирование картинок в архив на php

Есть уже заданные функции, которые создают архив, копируют файлы в него, создаёт директории вот кому нужно:
$zip = new ZipArchive;
$res = $zip->open('test/test.zip', ZipArchive::CREATE);
    
//Создаём директории
  $zip->addEmptyDir('test');
    
//Создаём файлы
  $zip->addFromString($images[5], $images[5]);
    
//Копируем файлы //от куда //куда
  $zip->addFile($images[5], $images[5]);
  $zip->close();

Но интересует, как засунуть туда картинки, полученные из массива?

6 комментариев

Kylaksizov 08.09.2014 23:29
Я снова туплю, у меня же в $images[5] полный путь картинки выводится. Значит вопрос в другом:
как мне отрезать именно сам домен например что бы из этого http://сайт.com/admin/upload/divers/n1.png получилось admin/upload/divers/n1.png
и как с него же отрезать только имя файла с расширением n1.png ?
Kylaksizov 08.09.2014 23:39
Без домена уже получилось, вот:
$conf = "http://сайт.com/";
foreach($images as $path){
    $path2 = str_replace($conf,'',$path);
    echo $path2."<br>";
}

Осталось только получить само имя картинки с расширением, это я уже точно не могу.
Incode 08.09.2014 23:50
Если изображения находятся на удаленном ресурсе, то для начала их надо получить прочитать, а уж потом записываем в файл. В принципе, двигались в правильном направлении:
$img_arr = array(
  'https://www.google.com.ua/images/srpr/logo11w.png',
  'http://yastatic.net/www/2.47/yaru/i/logo.png'
);
$zip = new ZipArchive;
if ($zip->open('test/test.zip', ZIPARCHIVE::CREATE) === TRUE) {
  foreach($img_arr as $img){
    $download_file = file_get_contents($img);
      $zip->addFromString('test/'.basename($img),$download_file);
    }
  $zip->close();
} else {
    echo 'Хьюстон! У нас проблемы!';
}
Kylaksizov 09.09.2014 00:00
Спасибо, вся суть была в basename();
Kylaksizov 09.09.2014 02:09
Как удалить архив сразу после его скачивания? В смысле как удалить я знаю unlink() но если он удалится быстрее чем его скачают?
Incode 10.09.2014 13:27
В таких случаях, я думаю, что логичней отдавать файл скриптом. Вот нашел в своих старых закладках. Правда ни разу так и не протестировал его ))
Ваш комментарий:
X