Autor Zpráva
Tomyč
Profil *
Zdravím,
mám vytvořené fotoalbum kam můžou uživatelé nahrávat své fotky. Vybrané fotografie se na serveru uloží do složky TEMP a pak se pomocí dalšího scriptu z této složky postupně načítají, konvertují a ukládají na správné místo. Všechno funguje až na jednu maličkost. Pokud to testuju na lokálním počítači, fotky se ze složky TEMP načítají a znovu ukládají přesně tak, jak byly nahrány (dle abecedy). Pokud stránku nahraju na server, fotky se načítají chaoticky. Nepřišel jsem podle jakého kritéria. Pokud to zkusím nahrát třeba 5x stejné fotky, řadí se vždy stejně. Nevím jestli není problém v tom, že na serveru běží linux a ten pracuje se soubory jinak. Potřeboval bych script nějak ošetřit, aby se soubory ze složky TEMP načítaly pokaždé podle abecedy. Díky moc za pomoc

$obsahTmp=opendir("$adresarTmp");
      $novejmeno=0;
      while($jmenosouboru = readdir($obsahTmp)) {
        if ($jmenosouboru != "." && $jmenosouboru != ".."){
          $poradi++;
          $poradi_0=sprintf("%02s",$poradi);
          $novejmeno=addslashes($_GET["albumID"])."_".$poradi_0.".jpg";
          if (file_exists($adresarTmp."/".$jmenosouboru)){umask(0000); rename($adresarTmp."/".$jmenosouboru,$adresarTmp."/".$novejmeno);}  //prejmenovani obrazku
          list($x_in,$y_in,$typ)=GetImageSize($adresarTmp."/".$novejmeno);
    //vytvoreni nahledu obrazku
          $in = imagecreatefromjpeg($adresarTmp."/".$novejmeno); 
          $y_out_th=70;  //vyska obrazku
          $x_out_th=($x_in/$y_in)*$y_out_th;
          $out_th=imagecreatetruecolor($x_out_th,$y_out_th);
          imagecopyresampled($out_th,$in,0,0,0,0,$x_out_th,$y_out_th,$x_in,$y_in);
          $novy_th=$adresar_th.$novejmeno;
          ImageJpeg($out_th,$novy_th,80); 	
          ImageDestroy($in);
        	ImageDestroy($out_th);
        	if (file_exists($adresarTmp."/".$novejmeno)){umask(0000); copy($adresarTmp."/".$novejmeno,$adresar."/".$novejmeno);} //kopirovani obrazku do slozky
        	if (file_exists($adresarTmp."/".$novejmeno)){umask(0000); unlink($adresarTmp."/".$novejmeno);} //vymazani obrazku
        }
Alphard
Profil
scandir() by měla řadit abecedně.
Tomyč
Profil *
Díky moc za radu. Se scandir to funguje správně

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: