Autor Zpráva
fujjtajblik
Profil *
Dobrý den, mořim se s jedním souborem. Má za úkol stahovat fotky z alba. Pokud se překročí nějaká kapacita, tak se na stahování úplně vyprdne. Proto jsem to začal řešit pomocí cyklu. Docílil jsem, že stahuje pořád do zblbnutí, ale to můj cíl taky neni. Chci se tedy zeptat mnohem ostřílenějších kde dělám chybu.

Zde přikládám zdrojoví kod:
$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="";

$zobrazit = 100;
$pocet_zaznamu = ceil($max);
if($pocet_zaznamu > $zobrazit){
  $pocet_stranek = ceil($max / $zobrazit);
}else{
  $pocet_stranek = 1;
}
if(!empty($_GET['s'])){
    $start = intval($_GET['s']);
    $start_for = $start;
    $opakuj_for = ($start + $zobrazit) - 1;
}else{
    $start = 0;
    $start_for = $start;
    $opakuj_for = $zobrazit - 1;
}
$aktualni_stranka = ($start/$zobrazit) + 1;
for($i = 0; $i<=$pocet_stranek; $i++){
  $filename=$dir.$files[$i];
  if(@is_dir($filename)){
  }else{
    ++$total_files;
    $f=@FOpen($filename,"rb");
    $add_to_zip = @fread($f,filesize($filename));
    @FClose($f);
    $file_info.= $filename." - ".Round((FileSize($filename)/1024),2)." KiB\r\n";
    $zip->addFile($add_to_zip, $files[$i]);
   }
}
$info.=$file_info."\r\n**************************************************\r\n";
$info.= $down[1].":\t".$_SERVER[SERVER_NAME]."\r\n".$down[2].":\t\t".$datum."\r\n";
$info.= $down[4].":\t\t".$onclicky[popis]."\r\n\t\t\t".$down[3].":".$kolikaty."x | ".$down[5].":".$total_files."x";
$info.="\r\n**************************************************\r\n";
$zip->addFile($info, "!info_".$i."!.txt");
$zip_name = strip_tags($_GET[dir]).".zip";
header("Content-Type: application/x-zip");
header("Content-disposition: attachment; filename=".$zip_name);
echo $zip->file();
Předem moc děkuju za rady a pomoc.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0