Autor | Zpráva | ||
---|---|---|---|
redpage Profil * |
#1 · Zasláno: 21. 3. 2011, 13:56:40
Dobrý den,
chci si udělat aby se mi všechno stahovalo ze složky fotoalbum. Složky ve fotoalbumu vypadaji nějak takhle: Nadřazená složka pod id alba fotoalbum/id_alba/mini.jpg fotoalbum/id_alba/normal.jpg Následuje složka detail fotoalbum/id_alba/detail/1.jpg fotoalbum/id_alba/detail/2.jpg ..... ----------------------------------------------------------------- Bohužel jak to mám teď, tak stahuje vše do jednoho zipu a to pouze ze složky, kterou mu musím zadat ručně. Chtěl by jsem docílit Vaší pomocí toho, že by jsem jen kliknul na odkaz a stáhlo by se vše i ve složce jak to je na stránce. Předem všem děkuju za radu nebo za odkaz nějakého hotového řešení. $datum = Date("d.m.Y H:i:s"); $dir="/home/www/neco.cz/image/1688/"; $dir2="/home/www/neco.cz/www/image/1688/detail/"; $zip = new zipfile(); $adr=Dir($dir); while ($file=$adr->Read()){ if (!(($file==".")||($file=="..")||($file=="index.php")||($file=="info.txt"))){ if (!StrStr($file,"thumb.jpg")) $files[]="$file"; } } $adr->Close(); @Sort($files); $max=SizeOf($files); $file_info=""; for ($i=0;$i<$max;$i++){ $filename=$dir . $files[$i]; if (@is_dir($filename)){ } else { $f=@FOpen($filename,"rb"); $add_to_zip = @fread ($f, filesize ($filename)); //echo "Zip<br>$filename (".filesize($filename).")<br>$add_to_zip<hr>"; @FClose($f); $file_info.="$filename - " . Round((FileSize($filename)/1024),2) . " kB\r\n"; $zip->addFile($add_to_zip, "$files[$i]"); } } // Konec stahovani // Detailní fotky $adr2=Dir($dir2); while ($file2=$adr2->Read()){ if (!(($file2==".")||($file2=="..")||($file2=="index.php")||($file2=="info.txt"))){ if (!StrStr($file2,"thumb.jpg")) $files2[]="$file2"; } } $adr2->Close(); @Sort($files2); $max2=SizeOf($files2); $file_info2=""; for ($i=0;$i<$max;$i++){ $filename2=$dir2 . $files2[$i]; if (@is_dir($filename2)){ } else { $f2=@FOpen($filename2,"rb"); $add_to_zip2 = @fread ($f2, filesize ($filename2)); //echo "Zip<br>$filename (".filesize($filename).")<br>$add_to_zip<hr>"; @FClose($f2); $file_info2.="$filename2 - " . Round((FileSize($filename2)/1024),2) . " kB\r\n"; $zip->addFile($add_to_zip2, "$files2[$i]"); } } // Konec stahovani $info.=$file_info . "\r\n**************************************************\r\n"; $info.="Staženo ze stránek: ".$_SERVER["SERVER_NAME"]."\r\nDatum stažení: ".$datum."\r\n"; $info.="\r\n**************************************************\r\n"; $zip->addFile($info, "!info!.txt"); $zip_name = "Záloha.zip"; header("Content-Type: application/x-zip"); header("Content-disposition: attachment; filename=$zip_name"); echo $zip->file(); |
||
AM_ Profil |
#2 · Zasláno: 22. 3. 2011, 00:26:25
Jakože tu proměnnou $dir a $dir2 bys chtěl dosadit z nějakého parametru v odkazu? není problém použít _GET, kde v odkazu předáš číslo galerie (stahni.php?gallery=1234 a pak jednoduše v $_GET['gallery'] najdeš číslo galerie).
Jako první ale vyházej z kódu ty zavináče, jejich použití je zde naprosto špatné. |
||
redpage Profil * |
#3 · Zasláno: 22. 3. 2011, 00:51:27
Spis by jsem chtel zadat jako cilovou slozku image a vse co vni najde by stahnul a zabalil presne jak to tam je. To asi nepujde, nebo ano?
|
||
Časová prodleva: 6 dní
|
|||
Darker Profil |
Prosím, neporušuj pravidlo 8.
Moderátor Joker: Porušující příspěvek vymazán Pokud chceš stáhnout vše z jedné složky jako ZIP archiv, podívej se, jak se to v PHP dělá.
|
||
Časová prodleva: 13 let
|
0