note 96277 deleted from function.ziparchive-addemptydir by thiago

From: Date: Thu, 18 Feb 2010 11:39:18 +0000
Subject: note 96277 deleted from function.ziparchive-addemptydir by thiago
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-166116@lists.php.net to get a copy of this message
Note Submitter: Oscar Agibaev ---- <? $base = '/home/vhosts/s-m-s.tv/'; // your path $dir = 'httpdocs/'; // your folder $files = array(); $files = scan_dir_array($base, $dir, $files); echo '<pre>'; print_r($files); echo '<pre>'; if (!empty($_POST['name'])) $zip_name = $_POST['name']; else $zip_name = 'new.zip'; create_zip($base.$zip_name, $base, $files); function scan_dir_array($base, $dir, $ar) { if (!is_dir($base.$dir)) exit; $ar[] = $dir; if ($hdir = opendir($base.$dir)) { while (false !== ($file = readdir($hdir))) { if ($file != '.' && $file != '..' ) { $type = filetype($base.$dir.$file); if ($type == 'dir') $ar = scan_dir_array($base, $dir.$file.'/', $ar); else $ar[] = $dir.$file; print("<br />$file $type"); } } closedir($hdir); } return $ar; } //scan_dir_array function create_zip($zip_name, $base, $files) { $zip = new ZipArchive(); if ($zip->open($zip_name, ZIPARCHIVE::OVERWRITE) === true) { foreach ($files as $file) { print("<br />$base$file"); if (is_dir($base.$file)) { if ($zip->addEmptyDir($file)) echo ' - create dir'; } else { if (is_file($base.$file)) if ($zip->addFile($base.$file, $file)) echo ' - add file'; } } $zip->close(); } } //create_zip ?> addEmptyDir() - not works on Debian Etch...

« previous php.notes (#166116) next »