Create Zip File using PHP
Create Zip File using PHP
Published May 02,2022 by Kailash Singh
0 Comment 1867 Views
In this tutorial, we are going to teach you, how to create zip file using php. The ZIP is a commonly used file format to archive files with data compression.
When you want to allow the user to download folders and files at once from the server, you need to create a ZIP file on the fly. It helps to compress files and create an archive to download files at once. The ZIP file can be created dynamically using PHP, and the archive file can be saved on the server from the PHP script easily.
ZipArchive Library:
ZipArchive method in PHP is used to add the file, new directory, and able to read the zip in PHP. ZipArchive is a class rather than a method; ziparchive contains multiple methods; by the use of it, we can perform various operations on the zip in PHP.
Create Folder, where your file will be slaved
Source Code:
<?php
$message = '';
if(isset($_POST['file_upload']))
{
//file should be less than 2MB
if (($_FILES['file']['size'] > 2097152))
{
$message = 'File too large. File must be less than 2 MB.';
}else{
//Uploading file code start
$uploadfile=$_FILES["file"]["tmp_name"];
$image_upload = $_FILES['file']['name'];
$image_upload1 = @end(explode('.', $image_upload));
$image_upload2 = strtolower($image_upload1);
$new_image_upload = time().'.'.$image_upload2;
$image_upload_path = './files/'.$new_image_upload;
move_uploaded_file($_FILES['file']['tmp_name'], $image_upload_path);
//Uploading file code end
if(extension_loaded('zip'))
{
$folder = "files/";
$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";
}
$zip->addFile($folder.$new_image_upload); // 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);
}
}
}
}
?>
<html>
<body>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name='file' required >
<button type="submit" name="file_upload">Create</button>
</form>
<p style="color: red;"><?php echo $message; ?></p>
</body>
</html>
Comments ( 0 )
Elevenstech Web Tutorials
Elevenstech Web Tutorials helps you learn coding skills and enhance your skills you want.
As part of Elevenstech's Blog, Elevenstech Web Tutorials contributes to our mission of “helping people learn coding online”.
Read More
Newsletter
Subscribe to get the latest updates from Elevenstech Web Tutorials and stay up to date