note 110380 added to class.ziparchive
| From: | k dot halaburda at gmail dot com | Date: | Wed, 17 Oct 2012 08:54:04 +0000 |
| Subject: | note 110380 added to class.ziparchive | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-191344@lists.php.net to get a copy of this message | ||
Simply modified niklas version to maintain directory tree structure
function folderToZip($folder, &$zipFile, $subfolder = null) {
if ($zipFile == null) {
// no resource given, exit
return false;
}
$folder .= end(str_split($folder)) == "/" ? "" : "/";
$subfolder .= end(str_split($subfolder)) == "/" ? "" : "/";
$subfolder = (substr($subfolder,0,1)=='/')?substr($subfolder,1):$subfolder;
$handle = opendir($folder);
while ($f = readdir($handle)) {
if ($f != "." && $f != "..") {
if (is_file($folder . $f)) {
if ($subfolder != null)
$zipFile->addFile($folder . $f, $subfolder . $f);
else
$zipFile->addFile($folder . $f);
} elseif (is_dir($folder . $f)) {
if ($subfolder != null) {
$zipFile->addEmptyDir($subfolder . $f);
folderToZip($folder . $f, $zipFile, $subfolder . $f);
} else {
$zipFile->addEmptyDir($f);
folderToZip($folder . $f, $zipFile, $f);
}
}
}
}
}
----
Server IP: 69.147.83.199
Probable Submitter: 83.13.36.2
----
Manual Page -- http://www.php.net/manual/en/class.ziparchive.php
Edit -- https://master.php.net/note/edit/110380
Del: integrated -- https://master.php.net/note/delete/110380/integrated
Del: useless -- https://master.php.net/note/delete/110380/useless
Del: bad code -- https://master.php.net/note/delete/110380/bad+code
Del: spam -- https://master.php.net/note/delete/110380/spam
Del: non-english -- https://master.php.net/note/delete/110380/non-english
Del: in docs -- https://master.php.net/note/delete/110380/in+docs
Del: other reasons-- https://master.php.net/note/delete/110380
Reject -- https://master.php.net/note/reject/110380
Search -- https://master.php.net/manage/user-notes.php