Simple PHP function that can be used
to create ZIP file archive with PHP. The function receives two parameters: an array with the path-name of the files to add in archive, and a string with the path-name of the Zip file that will be created.
- Important: If you work on Linux system, PHP must have CHMOD write permisions in the directory in which the ZIP file /archive will be created.
<?php
// function to create ZIP archive. Returns TRUE on success, otherwise, False
// receives 2 arguments: an array with the path-name of the files to add in archive,
// and the path-name of the Zip file that will be created
function createZip($files, $zip_file) {
// PHP-MySQL Course - https://coursesweb.net/php-mysql/
// create an object of the ZipArchive class
$zip = new ZipArchive;
// if the $zip_file can be created, traverse the array $files and add each file in archive
if($zip->open($zip_file, ZipArchive::CREATE) === TRUE) {
foreach($files as $file){
$zip->addFile($file);
}
$zip->close();
return true;
}
else return false;
}
/* Example */
// Array with the path-name of the files to be added in ZIP archive
$files = array('file1.txt', 'image.jpg', 'audio.mp3');
// the path-name of your final zip file on your server
$zip_file = 'final.zip';
// calls the createZip() to create the ZIP archive, returns message of success or failure
if(createZip($files, $zip_file)) echo 'The '. $zip_file. ' successfully created';
else echo 'Unable to create the '. $zip_file. ' file';
?>
If the $zip_file already exists on server, the files will be added in the in that archive, keeping also the existing files in ZIP.
- To overwrite the ZIP archive, replace
CREATE with
OVERWRITE .
• If you want the ZIP archive to be downloaded after it was created, use this code:
// here the code that adds the files in ZIP archive
header('Content-type: application/zip');
header('Content-disposition: filename="'. $zip_file. '"');
header('Content-length:'. filesize($zip_file));
readfile($zip_file);
exit();
Daily Test with Code Example
HTML
CSS
JavaScript
PHP-MySQL
Which HTML5 tag is indicated to be used as container for menu with navigation links in Web site?
<section> <nav> <article><nav><ul>
<li><a href="http://coursesweb.net/css/" title="CSS Course">CSS Course</a></li>
<li><a href="http://www.marplo.net/jocuri/" title="Flash Games">Flash Games</a></li>
</ul></nav>
Which CSS property shifts an item horizontally to the left or right of where it was?
text-align clear float.some_class {
width: 30%;
float: left;
}
Click on the Math object method which returns x, rounded downwards to the nearest integer.
Math.ceil(x) Math.abs(x) Math.floor(x)var num = 12.34567;
num = Math.floor(num);
alert(num); // 12
Indicate the PHP function which returns the number of characters in string.
mb_strlen() count() stristr()$str = "string with utf-8 chars åèö";
$nrchr = mb_strlen($str);
echo $nrchr; // 30