Autor | Zpráva | ||
---|---|---|---|
šoraj Profil |
#1 · Zasláno: 23. 9. 2008, 19:31:07
Ahoj, měl bych dotaz ohledně zipování celé složky, byla zde zverejnena třída Zipuj (autor Alphard):
<?php class Zipuj { protected $zip; public $jmeno_zipu; public $root; public function __construct ($root = ".", $jmeno_zipu = "zip.zip") { $this -> root = $root; $this -> jmeno_zipu = $jmeno_zipu; $this -> zip = new ZipArchive(); $this -> zip -> open ($this -> jmeno_zipu, ZIPARCHIVE::CREATE); self::nactiAdr ($this -> root); self::uloz (); } public function nactiAdr ($cesta) { $hn = scandir ($cesta); foreach ($hn as $file) { if ($file == "." || $file == "..") continue; if (is_dir ($cesta."/".$file)) { $this -> zip -> addEmptyDir ($cesta."/".$file); self::nactiAdr ($cesta."/".$file); } else $this -> zip -> addFile ($cesta."/".$file, $cesta."/".$file); } } public function uloz () { $this -> zip -> close (); } } $zalohuj = new Zipuj(); ?> Tato class zazipuje celý zadaný adresář, ale také všechny nadřazené složky..nevěděl by někdo, jak zazipovat pouze zadaný adresář??ale cestu k němu samozřejmě musím...už to zkoumám dlouho, ale nějak na to nemohzu prijit...dekuji za odpověď! S pozdravem šoraj |
||
imploder Profil |
#2 · Zasláno: 23. 9. 2008, 20:40:52
„Tato class zazipuje celý zadaný adresář, ale také všechny nadřazené složky“
Myslíš asi naopak podsložky. |
||
šoraj Profil |
#3 · Zasláno: 23. 9. 2008, 21:24:11
no on mi zazipuje i tu cestu ke slozce, kteou chci zazipovat, ale ja bych potreboval, abych mel zazipovanou jen tu zadanou slozku s jejimi podslozkami a soubory...predam mu cestu :/iuehfdiew/ojfoiwef/konecna a zazipuje se to presne takhle + jeste ty podslozky a adresare z adresare konecna. Ja bych potreboval zipnout jen ten adresar konecna!....
|
||
Alphard Profil |
#4 · Zasláno: 23. 9. 2008, 21:56:05
šoraj
pro toto není vyladěná je nutné z cesty oddělit zadané adresáře a přidávat je jen ke zdrojové cestě není to zásadní problém, ale já jsem momentálně časově zaneprázdněn, jestli počkáte pár dní, tak to upravím |
||
šoraj Profil |
#5 · Zasláno: 23. 9. 2008, 22:23:08
jiste, pockam a rad, zatim to budu zkouset nejak upravit:)
|
||
Časová prodleva: 1 měsíc
|
|||
Alphard Profil |
#6 · Zasláno: 24. 10. 2008, 22:55:36
Dobrý den, jsem si vědom, že po měsící jste to asi vyřešil jinak, ale když jsem to slíbil...
snad to bude vyhovovat, je to úprava pouze několika proměnných, jen kdybych nezapomněl :-( <?php class Zipuj { protected $zip; public $jmeno_zipu; public $root; public function __construct ($root = ".", $jmeno_zipu = "zip.zip") { $this -> root = $root; $this -> jmeno_zipu = $jmeno_zipu; $this -> zip = new ZipArchive(); $this -> zip -> open ($this -> jmeno_zipu, ZIPARCHIVE::CREATE); self::nactiAdr (); self::uloz (); } public function nactiAdr ($cesta = "") { $hn = scandir ($this -> root.$cesta); foreach ($hn as $file) { if ($file == "." || $file == "..") continue; if (is_dir ($this -> root.$cesta."/".$file)) { $this -> zip -> addEmptyDir ($cesta."/".$file); self::nactiAdr ($cesta."/".$file); } else $this -> zip -> addFile ($this -> root.$cesta."/".$file, $cesta."/".$file); } } public function uloz () { $this -> zip -> close (); } } $zalohuj = new Zipuj("./test/test2/test3/test4/test6"); ?> |
||
Časová prodleva: 15 let
|
0