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: 6 let
|
0