Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $pathh=dir_tree("testing/");
- require("pclzip.lib.php");
- include_once("ZipStream.php");
- $fileTime = date("D, d M Y H:i:s T");
- $zip = new ZipStream("zip1.zip");
- $zip->addDirectory("testing/");
- while (list($key,$value) = each($pathh)) { $value.="/"; $zip->addDirectory("$value");
- $fajll=file_tree("$value");
- while (list($keys,$values) = each($fajll)) { $zip->addLargeFile($values, $values, filectime($values)); }
- }
- $zip->finalize();
- function dir_tree($dir) {
- $path = '';
- $fajl = '';
- $stack[] = $dir;
- while ($stack) {
- $thisdir = array_pop($stack);
- if ($dircont = scandir($thisdir)) {
- $i=0;
- while (isset($dircont[$i])) {
- if ($dircont[$i] !== '.' && $dircont[$i] !== '..') {
- $current_file = "{$thisdir}/{$dircont[$i]}";
- if (is_file($current_file)) {
- $fajl[] = "{$thisdir}/{$dircont[$i]}";
- } elseif (is_dir($current_file)) {
- $path[] = "{$thisdir}/{$dircont[$i]}";
- $stack[] = $current_file;
- }
- }
- $i++;
- }
- }
- }
- return $path;
- }
- function file_tree($dir) {
- $path = '';
- $fajl = '';
- $stack[] = $dir;
- while ($stack) {
- $thisdir = array_pop($stack);
- if ($dircont = scandir($thisdir)) {
- $i=0;
- while (isset($dircont[$i])) {
- if ($dircont[$i] !== '.' && $dircont[$i] !== '..') {
- $current_file = "{$thisdir}/{$dircont[$i]}";
- if (is_file($current_file)) {
- $fajl[] = "{$thisdir}/{$dircont[$i]}";
- } elseif (is_dir($current_file)) {
- $path[] = "{$thisdir}/{$dircont[$i]}";
- $stack[] = $current_file;
- }
- }
- $i++;
- }
- }
- }
- return $fajl;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment