Guest User

Untitled

a guest
Aug 16th, 2011
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.96 KB | None | 0 0
  1. <?php
  2.  
  3. $pathh=dir_tree("testing/");
  4. require("pclzip.lib.php");
  5. include_once("ZipStream.php");
  6. $fileTime = date("D, d M Y H:i:s T");
  7. $zip = new ZipStream("zip1.zip");
  8. $zip->addDirectory("testing/");
  9. while (list($key,$value) = each($pathh)) { $value.="/"; $zip->addDirectory("$value");
  10. $fajll=file_tree("$value");
  11. while (list($keys,$values) = each($fajll)) { $zip->addLargeFile($values, $values, filectime($values)); }
  12. }
  13.  
  14. $zip->finalize();
  15.  
  16.  
  17.  
  18. function dir_tree($dir) {
  19.    $path = '';
  20.    $fajl = '';
  21.    $stack[] = $dir;
  22.    while ($stack) {
  23.        $thisdir = array_pop($stack);
  24.        if ($dircont = scandir($thisdir)) {
  25.            $i=0;
  26.            while (isset($dircont[$i])) {
  27.                if ($dircont[$i] !== '.' && $dircont[$i] !== '..') {
  28.                    $current_file = "{$thisdir}/{$dircont[$i]}";
  29.                    if (is_file($current_file)) {
  30.                        $fajl[] = "{$thisdir}/{$dircont[$i]}";
  31.                    } elseif (is_dir($current_file)) {
  32.                         $path[] = "{$thisdir}/{$dircont[$i]}";
  33.                        $stack[] = $current_file;
  34.                    }
  35.                }
  36.                $i++;
  37.            }
  38.        }
  39.    }
  40.    return $path;
  41. }
  42.  
  43. function file_tree($dir) {
  44.    $path = '';
  45.    $fajl = '';
  46.    $stack[] = $dir;
  47.    while ($stack) {
  48.        $thisdir = array_pop($stack);
  49.        if ($dircont = scandir($thisdir)) {
  50.            $i=0;
  51.            while (isset($dircont[$i])) {
  52.                if ($dircont[$i] !== '.' && $dircont[$i] !== '..') {
  53.                    $current_file = "{$thisdir}/{$dircont[$i]}";
  54.                    if (is_file($current_file)) {
  55.                        $fajl[] = "{$thisdir}/{$dircont[$i]}";
  56.                    } elseif (is_dir($current_file)) {
  57.                         $path[] = "{$thisdir}/{$dircont[$i]}";
  58.                        $stack[] = $current_file;
  59.                    }
  60.                }
  61.                $i++;
  62.            }
  63.        }
  64.    }
  65.    return $fajl;
  66. }
  67.  
  68. ?>
Advertisement
Add Comment
Please, Sign In to add comment