Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekroczenie limitu czasowego przez funkcje
Forum PHP.pl > Forum > PHP
rzseattle
Mam problem. Jak zrobic aby funkcja tworzaca miniaturki nie powodowala bledu z powodu przekroczenia limitu czasowego operacji (czyli standartowego 30s). Bo przy 200 zdjeciach raczej nie da sie tego zrobic i nie zabardzo wiem jak to ominac. Moze ktos udoskonali moja funkcje, tak zeby robila partiami albo cos.

Kod
$szerokosc_miniatury=90;

$wysokosc_miniatury=125;

$jakosc_miniaturki=50; //od 0 do 100





$dstX=0;  $dstY=0;

$srcX=0;  $srcY=0;

$dstW=$szerokosc_miniatury;  $dstH=$wysokosc_miniatury;





$d=dir($sciezki[dla_miniatur]);

while(($bf=$d->read())!==false){

       $rest = substr($bf, -7);

       $rest2 = substr($bf, -3);

    if ($bf != "." && $bf != ".."&& $rest2 == "jpg"&& $rest!="_tn.jpg") {

       $sciezka= $sciezki[dla_miniatur]."/".$bf;

     $im = @ImageCreateFromJPEG ($sciezka) or die ("Tutaj nie ma bibliotteki GD");

        

     $szerokosc=imagesx($im);

        $wysokosc=imagesy($im);

    

    

     $srcW=$szerokosc;  $srcH=$wysokosc;

    

     $im_mini=ImageCreatetruecolor($szerokosc_miniatury,$wysokosc_miniatury);

    

     imagecopyresampled ($im_mini,$im,$dstX,$dstY,$srcX,$srcY,$dstW,$dstH,$srcW,$srcH);

    

     $bf_mini=ereg_replace (".jpg", "_tn.jpg", $bf);

     imagejpeg ($im_mini,"$sciezki[dla_miniatur]/$bf_mini",$jakosc_miniaturki);

     $i++;

     print "$i. Miniatura obrazu $bf ($bf_mini) stworzona.<br>";

    

     }

} //konczy while

$d->close();


Wszelkie uwagi mile widziane.
kurtz
Cytat
Mam problem. Jak zrobic aby funkcja tworzaca miniaturki nie powodowala bledu z powodu przekroczenia limitu czasowego operacji (czyli standartowego 30s)
hmm a set_time_limit(0) nie pomoga? ;)
cesar
z set_time_limit(0) bym nie ryzykował, a niech się jakaś niekocząca pętla trafi ... i co wtedy?
kurtz
Cytat
z set_time_limit(0) bym nie ryzykował, a niech się jakaś niekocząca pętla trafi ... i co wtedy?
1) tylko wtedy jesli jest nieskoncznie wiele plikow w katalogu a wiec i nieskocznienei wiele miejsca na dysku - marna szansa ;)
2) zawsze mozna nacisnac escape etc. sam apache tez monitoruje tablice swoich dzieci i zabija je jesli sie nie zglaszaja zbyt dlugo
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.