/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Fatal error: Maximum execution time of 30 ~
Fra : Trux


Dato : 15-12-03 15:06

Jeg har en hjemmeside, hvor meningen er at man kan ftp-uploade et
bibliotek med billeder. Hjemmesiden skal så via php første gang man går
ind på siden generere thumbnails af alle billederne. Jeg har en algoritme
som virker fint, men problemet er at hvis der er mange billeder så timer
php execution time ud:

Fatal error: Maximum execution time of 30 seconds exceeded in list.php on
line 28

Jeg har ikke serveren som siden skal ligge på, så jeg kan ikke ændre
timeout grænsen. Nogle forslag? en processbar eller noget?

Tak på forhånd
- Bjarke

Koden:
---------
<?php
function createThumbs($galleryDir){
$thumbSizeX = 60;
$thumbSizeY = 45;
$thumbImage = ImageCreateTrueColor($thumbSizeX, $thumbSizeY);
mkdir("{$galleryDir}thumbs");
$dir = opendir($galleryDir);
while ($filename = readdir($dir)){
if (substr(strtolower($filename),-4) == ".jpg" ||
substr(strtolower($filename),-5) == ".jpeg") {
$sourceImage = imagecreatefromjpeg("$galleryDir$filename");
$imageRatio = imagesx($sourceImage) / imagesy($sourceImage);
if($imageRatio < 1.333) {
$tempThumb = ImageCreateTrueColor($thumbSizeX,
($thumbSizeX / $imageRatio));
imagecopyresampled($tempThumb, $sourceImage, 0, 0, 0, 0,
$thumbSizeX, ($thumbSizeX / $imageRatio),
imagesx($sourceImage), imagesy($sourceImage));
$thumbImage = ImageCreateTrueColor($thumbSizeX, $thumbSizeY);
imagecopy($thumbImage, $tempThumb, 0, 0, 0,
(imagesy($tempThumb)/2-($thumbSizeY / 2)), $thumbSizeX,
$thumbSizeY);
}else{
$tempThumb = ImageCreateTrueColor(
($thumbSizeY * $imageRatio), $thumbSizeY);
imagecopyresampled($tempThumb, $sourceImage, 0, 0, 0, 0,
($thumbSizeY * $imageRatio), $thumbSizeY,
imagesx($sourceImage), imagesy($sourceImage));
imagecopy($thumbImage, $tempThumb, 0, 0,
(imagesx($tempThumb)/2-($thumbSizeX / 2)), 0, $thumbSizeX,
$thumbSizeY);
}
imagejpeg($thumbImage,"{$galleryDir}thumbs/$filename" ,50);
imagedestroy($sourceImage);
imagedestroy($tempThumb);
}
}
closedir($dir);
imagedestroy($thumbImage);
}
?>

 
 
Tonni Aagesen (15-12-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 15-12-03 16:54

Trux wrote:

> Jeg har ikke serveren som siden skal ligge på, så jeg kan ikke ændre
> timeout grænsen. Nogle forslag? en processbar eller noget?

http://php-faq.dk/index.php?faq=12

Mvh
Tonni

Arne Feldborg (15-12-2003)
Kommentar
Fra : Arne Feldborg


Dato : 15-12-03 23:49

Trux <trux@nork.auc.dk> skrev Mon, 15 Dec 2003 15:06:02 +0100

>Fatal error: Maximum execution time of 30 seconds exceeded in list.php on
>line 28
>
>Jeg har ikke serveren som siden skal ligge på, så jeg kan ikke ændre
>timeout grænsen. Nogle forslag? en processbar eller noget?
>
Indsæt i toppen af dit script (tallet angiver tiden i sekunder):
set_time_limit (90);


--
mvh, A:\Feldborg

Folketælllinger Hammerum og Bølling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408934
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste