Информационный портал

Информационно-новостной портал

Новости рекламы и маркетинга. Новости Интернета.
Море полезной информации на сайте RetailDepartment.ru
Поделиться ссылкой с друзьями

Создание ZIP архива средствами PHP

Twitter
Нравится
RedLine

В этом посту мы расскажем, как при помощи PHP создать ZIP архив из нескольких файлов. Это можно применить в коммерческих веб проектах: архивировать PDF, изображения, документы и так далее и отдавать на скачивание.

HTML

Форма состоит из списка чекбоксов с именем files[]:

<form name="zips" method="post">

<input type="checkbox" name="files[]" value="flowers.jpg" />
<img src="/files/image.png" />
flowers.jpg

<input type="checkbox" name="files[]" value="fun.jpg" />
<img src="/files/image.png" />
fun.jpg

<input type="checkbox" name="files[]" value="9lessons.docx" />
<img src="/files/doc.png"   />
9lessons.docx
........
<input type="submit" name="createpdf" value="Download as ZIP" /> 
<input type="reset" name="reset"  value="Reset" />
</form>

PHP

Помещаем выбранные файлы в ZIP формат:

<?php
$error = "";
if(isset($_POST['createpdf']))
{
$post = $_POST;
$file_folder = "files/"; // папка с файлами
if(extension_loaded('zip'))
{
if(isset($post['files']) and count($post['files']) > 0)
{
// проверяем выбранные файлы
$zip = new ZipArchive(); // подгружаем библиотеку zip
$zip_name = time().".zip"; // имя файла
if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE)
{

$error .= "* Sorry ZIP creation failed at this time";
}
foreach($post['files'] as $file)
{
$zip->addFile($file_folder.$file); // добавляем файлы в zip архив
}
$zip->close();
if(file_exists($zip_name))
{
// отдаём файл на скачивание
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="'.$zip_name.'"');
readfile($zip_name);
// удаляем zip файл если он существует
unlink($zip_name);
}

}
else
$error .= "* Please select file to zip ";
}
else
$error .= "* You dont have ZIP extension";
}
?>


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/5ijPiGB_emw/lessons.php

Add comment

Правила добавления комментариев


Security code
Refresh

Download SocComments v1.3