note 96277 added to function.ziparchive-addemptydir

From: Date: Thu, 18 Feb 2010 09:13:43 +0000
Subject: note 96277 added to function.ziparchive-addemptydir
Groups: php.notes 
Request: Send a blank email to php-notes+get-166111@lists.php.net to get a copy of this message
<? $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... ---- Server IP: 69.147.83.197 Probable Submitter: 217.8.225.107 ---- Manual Page -- http://www.php.net/manual/en/function.ziparchive-addemptydir.php Edit -- https://master.php.net/note/edit/96277 Del: integrated -- https://master.php.net/note/delete/96277/integrated Del: useless -- https://master.php.net/note/delete/96277/useless Del: bad code -- https://master.php.net/note/delete/96277/bad+code Del: spam -- https://master.php.net/note/delete/96277/spam Del: non-english -- https://master.php.net/note/delete/96277/non-english Del: in docs -- https://master.php.net/note/delete/96277/in+docs Del: other reasons-- https://master.php.net/note/delete/96277 Reject -- https://master.php.net/note/reject/96277 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#166111) next »