note 96277 added to function.ziparchive-addemptydir
| From: | OscarAgibaev at osu1 dot php dot net | 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