forked from Grandt/PHPZip
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathZip.Example1.php
More file actions
33 lines (27 loc) · 1.2 KB
/
Zip.Example1.php
File metadata and controls
33 lines (27 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
// Example. Zip all .html files in the current directory and send the file for Download.
// Also adds a static text "Hello World!" to the file Hello.txt
$fileDir = './';
ob_start(); // This is only to show that ob_start can be called, however the buffer must be empty when sending.
include_once("Zip.php");
$fileTime = date("D, d M Y H:i:s T");
$zip = new Zip();
$zip->setComment("Example Zip file.\nCreated on " . date('l jS \of F Y h:i:s A'));
$zip->addFile("Hello World!", "hello.txt");
@$handle = opendir($fileDir);
if ($handle) {
/* This is the correct way to loop over the directory. */
while (false !== ($file = readdir($handle))) {
if (strpos($file, ".html") !== false) {
$pathData = pathinfo($fileDir . $file);
$fileName = $pathData['filename'];
$zip->addFile(file_get_contents($fileDir . $file), $file, filectime($fileDir . $file));
}
}
}
// Add a directory, first recursively, then the same directory, but without recursion.
// Naturally this requires you to change the path to ../test to point to a directory of your own.
$zip->addDirectoryContent("../test", "recursiveDir/test");
$zip->addDirectoryContent("../test", "recursiveDir/testFlat", FALSE);
$zip->sendZip("ZipExample1.zip");
?>