This post helps you to create a ZIP file using PHP,
Arun had coded a few lines of script that system converts the selected
files into ZIP file format. It is useful for ecommerce web projects like
selling PDFs, Images and Docs ect, use can choose files and download it
into compressed format. Take a look at this live demo
HTML Code
Form contains list of files with input type checkbox name 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>
<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 Code
Contains PHP code covert the selected files into ZIP file format.
<?php
$error = ""; //error holder if(isset($_POST['createpdf']))
{
$post = $_POST;
$file_folder = "files/"; // folder to load files if(extension_loaded('zip'))
{ // Checking ZIP extension is available if(isset($post['files']) and count($post['files']) > 0)
{ // Checking files are selected
$zip = new ZipArchive(); // Load zip library
$zip_name = time().".zip"; // Zip name if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE)
{
// Opening zip file to load files
$error .= "* Sorry ZIP creation failed at this time";
} foreach($post['files'] as $file)
{
$zip->addFile($file_folder.$file); // Adding files into zip
}
$zip->close(); if(file_exists($zip_name))
{ // push to download the zip header('Content-type: application/zip'); header('Content-Disposition: attachment; filename="'.$zip_name.'"'); readfile($zip_name); // remove zip file is exists in temp path unlink($zip_name);
}
} else
$error .= "* Please select file to zip ";
} else
$error .= "* You dont have ZIP extension";
} ?>
$error = ""; //error holder if(isset($_POST['createpdf']))
{
$post = $_POST;
$file_folder = "files/"; // folder to load files if(extension_loaded('zip'))
{ // Checking ZIP extension is available if(isset($post['files']) and count($post['files']) > 0)
{ // Checking files are selected
$zip = new ZipArchive(); // Load zip library
$zip_name = time().".zip"; // Zip name if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE)
{
// Opening zip file to load files
$error .= "* Sorry ZIP creation failed at this time";
} foreach($post['files'] as $file)
{
$zip->addFile($file_folder.$file); // Adding files into zip
}
$zip->close(); if(file_exists($zip_name))
{ // push to download the zip header('Content-type: application/zip'); header('Content-Disposition: attachment; filename="'.$zip_name.'"'); readfile($zip_name); // remove zip file is exists in temp path unlink($zip_name);
}
} else
$error .= "* Please select file to zip ";
} else
$error .= "* You dont have ZIP extension";
} ?>
No comments:
Post a Comment