login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fatal error: Maximum execution time of 30 seconds

Offline DownForZ - 28/04/2005 22:42
Avatar van DownForZHTML interesse Hey mensen ik zal even kort de situatie beschrijven.

Ik heb een ubb.php

  1. <?php function resizeIMG($img)
  2. {
  3. $maxwidth = 200;
  4. $maxheight = 200;
  5.  
  6. $size = getimagesize($img);
  7.  
  8. if($size[0] > $size[1])
  9. {
  10. if($size[0] > $maxwidth)
  11. {
  12. $width = $maxwidth;
  13. $tel = $width/$size[0]*$size[1];
  14. $height= round($tel,0);
  15. }
  16. else
  17. {
  18. $width = $size[0];
  19. $height = $size[1];
  20. }
  21. }
  22. else
  23. {
  24. if($size[1] > $maxheight)
  25. {
  26. $height = $maxheight;
  27. $tel = $height/$size[1]*$size[0];
  28. $width= round($tel,0);
  29. }
  30. else
  31. {
  32. $width = $size[0];
  33. $height = $size[1];
  34. }
  35. }
  36. if($size[0] < $maxwidth && $size[1] < $maxheight)
  37. return '<img src='.$img.' width='.$width.' height='.$height.' />';
  38.  
  39. else
  40. return '<a style="cursor:" href="javascript:void(0)" onClick="window.open(\''.$img.'\', \'popup\', \'height='.$size[1].', width='.$size[0].', fullscreen=no, location=no, menubar=no, status=no, toolbar=no, scrollbars=no, resizable=no\')"><img style="border: 1px #000000 dashed;" src='.$img.' width='.$width.' height='.$height.' alt="Klik op dit plaatje om voor de ware grootte" /></a>';
  41. }


en hij 'resized' dus automatisch, alleen hij laad zo ontzettend traag. Alles is localhost. ik roep het geheel op dmv img tag die dus naar die functie gaat, met 1 plaatje werkt het perfect (ook traag) en met meerdere gaat het echt sloom, heeft iemand een oplossing ?

(dat resizeIMG is van i-net geplukt)

8 antwoorden

Gesponsorde links
Offline Tuinstoel - 29/04/2005 09:08
Avatar van Tuinstoel PHP expert Het is traag doordat je gebruikt maakt van de functie GetImageSize(); Deze functie kost gewoon veel kracht van je processor, want het moet het een en ander opvragen van je afbeelding. Hoe meer afbeeldingen je onder elkaar plaatst met deze functie er overheen, hoe langer hij er over zal gaan doen. Je zou het een keer kunnen proberen op een andere host dan je eigen server, want deze is dan mogelijk wel sneller, maar dit zal je server wel enorm belasten. Ik vertel dit trouwens uit eigen ervaring.
Offline Thomas - 29/04/2005 11:17
Avatar van Thomas Moderator Ik zou die functie gebruiken om (eenmalig) thumbnails te maken. Dan hoef je die berekeningen daarna niet meer uit te voeren - je leest enkel de thumbnails en bijbehorende plaatjes uit uit een of meer directories.
Offline Tuinstoel - 29/04/2005 13:24
Avatar van Tuinstoel PHP expert Ik denk niet dat hij het zo bedoelt, want het is een UBB code, en dat vind je meestal op fora en gastenboeken bijvoorbeeld. Dus resizen van allerlei afbeeldingen zal er wel niet inzitten, of handmatig natuurlijk.
Offline Thomas - 29/04/2005 13:29 (laatste wijziging 29/04/2005 13:29)
Avatar van Thomas Moderator Als je het plaatje kunt lezen, kun je toch ook wel (lokaal) een thumbnail opslaan ? Besides, DownForZ zegt dat "alles lokaal gebeurt" dus de plaatjes zullen ook wel lokaal staan.

Als je grote (geresizede) plaatjes bekijkt (of ze nou lokaal of remote staan), zal dit de laadtijd van je pagina beinvloeden - de afmetingen worden netjes aangepast, de bestandsgrootte van het plaatje is onveranderd...
Offline timmie_loots - 29/04/2005 13:44
Avatar van timmie_loots PHP gevorderde Je kunt ook gewoon standaard maten nemen, als je het verkleint gaat het toch al niet meer om hoe het er uit ziet.
Offline DownForZ - 02/05/2005 11:13 (laatste wijziging 02/05/2005 11:14)
Avatar van DownForZ HTML interesse FangorN bij dit voorbeeld staat alles idd lokaal, maar das niet de bedoeling allemaal, maar kan dit ook anders ? of gewoon zoals timmie_loots zegt ?

(sorry voor late reply, koninginnenach en dach hè)
Offline Thomas - 02/05/2005 11:48
Avatar van Thomas Moderator Tuurlijk, je kan altijd een vaste height en width voor een plaatje nemen he ? Maar daarmee worden externe plaatjes niet sneller geladen. Je zou ook eens kunnen kijken naar de tijd waarin resizeIMG() wordt uitgevoerd - ik kan mij haast niet voorstellen dat dit (of enkele aanroepen) 30 seconden zou duren... Weet je zeker dat het hier aan ligt ?
Offline DownForZ - 02/05/2005 19:28
Avatar van DownForZ HTML interesse Het moet wel ik heb 2 posts gemaakt, 1 met 7 plaatjes ongeveer, en 1 zonder, met plaatjes = time out, zonder plaatjes = gewoon gelijk op beeldscherm
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s