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'; } }?>
Нам будет приятно
Поделитесь
Комментарии