16.06.2013
Создание ZIP архива
Для начала создадим форму, в которой будут перечислены все файлы нашей базы.
Всю остальную работу выполнит PHP.
Происходит следующее: выбранные пользователем файлы добавляются в новый ZIP архив с именем текущего времени, архив загружается на компьютер пользователя.
Источник: Ruseller http://ruseller.com/lessons.php?rub=37&id=1763
<form name=zips method=post>
<input type=checkboxname='files[]' value='flowers.jpg'></input><imgsrc='files/image.png'></img>flowers.jpg
<input type=checkboxname='files[]' value='fun.jpg'></input><imgsrc='files/image.png'></img>fun.jpg</form>
<p><input type=checkboxname='files[]' value='9lessons.docx'></input><imgsrc='files/doc.png'></img>9lessons.docx
........
<input type=submit name=createpdfvalue='Download as ZIP'></input>
<input type=reset name=reset></input>
<?$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';
}
}?>
Нам будет приятно
Поделитесь
Комментарии