Совсем недавно столкнулся с такой проблемой, что заказчику надо было из вне брать картинки и закачивать их в определенную папку. Здесь нет ничего сложного, но объемы были большие и было задание сделать чтобы создавался архив с датой и туда клались картинки. В принципе и в этом нет ничего сложного. Может кому то понадобится такая же задача.
function newZip($path, $files){ $zip = new ZipArchive(); $new = $zip->open($path.".zip", ZipArchive::CREATE); //создаем архив, что пришло в path путь к примеру "image/123" - в папке image будет архив 123.zip $zip->addEmptyDir("images/"); //если надо в архиве создать директорию $zip->addFile($files); //путь к файлу который нужно поместить в архив. Это может быть внешний источник или файл на сервере. $zip->close(); //закрываем архив } newZip('test', 'image.jpg'); // создаем архив тест и кладем в него image.jpg которые находится на сервере в данном случае
Как мы видим ничего сложного нет. При желании PHP может также вытаскивать файлы из архива. Здесь ещё всё проще.
function extracts($files){ $zip = new ZipArchive; if ($zip->open($files) === TRUE) { $zip->extractTo('/image/'); //куда разархивировать $zip->close(); echo 'ok'; } else { echo 'ошибка'; } } extracts('test.zip'); //разархивирует архив test.zip на сервере
Тут нужно понимать что путь к файлу для разархивирования должен быть верным и он должен существовать на сервере. Если архив находится в папке images например, то нужно добавить путь «images/test.zip». Файл не должен также содержать паролей на архив.
Архивы помогают если необходимо хранить какую то информацию или передать что-то кому то. Удобнее ведь дать ссылку на 1 файл нежели дать ссылку на папку и рассказывать как скачать каждый файл. Архивами уже все могут пользоваться и архиваторы у всех практически установлены. Поэтому это бывает очень даже полезно и необходимо.
Как вариант можно даже добавить на cron и он будет каждый день архивировать Ваш сайт. Ведь ничего не мешает нам дать путь к папке(папка по сути может быть Вашим сайтом) и архив к примеру можно отправить его почтой или куда то выкладывать. Тут в принципе свобода действий я думаю каждый поймет для себя сам для чего это ему нужно.
Удачи Вам.
Спасибо!
В ближайшее время мы опубликуем информацию.