| Autor | Zpráva | ||
|---|---|---|---|
| tondapinda Profil * |
#1 · Zasláno: 10. 8. 2017, 10:44:33
Zdravím,
mám takový problém, snažím se zabalit adresář se zachováním struktury do .Zipu, ale zabalí mi to celý adresář od kořene. Tedy, takto. Mám adresář "gallery" v /html/var/clients/1/web/gallery/ a v zipu se mi vytvoří 2 složky (viz níže) a já potřebuji, aby tam byla pouze ta /gallery/..její složky/fotky.. Nyní když rozbalím ZIP, tak se mi vytvoří všechny složky, podsložky z /gallery/ - které ovšem neobsahují žádné soubory (fotky) Navíc je tam ale složka /html/ (pokračuje) /var/clients/1/web/gallery/ ve které už jsou všechny...
$zip = new ZipArchive;
$zip ->open("files/backups/".$this->zipFileName, ZipArchive::CREATE);
$this->addFolderToZip("gallery", $zip );
$zip->close();
function addFolderToZip($source, $zip) {
$source = realpath($source);
if (is_dir($source)) {
$iterator = new RecursiveDirectoryIterator($source);
// skip dot files while iterating
$iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
$files = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file) {
if ($file != "." && $file != "..") {
$file = realpath($file);
if (is_dir($file)) {
$zip->addEmptyDir(str_replace($source . '/', '', $file . '/'));
} else if (is_file($file)) {
$zip->addFile($file, $source.'/'.$file );
}
}
}
} else if (is_file($source)) {
$zip->addFile($source);
}
return false;
}
Děkuji za rady. |
||
|
Časová prodleva: 9 let
|
|||
0