[php]Memory size exhausted

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • kokorico
  • Registratie: Januari 2004
  • Laatst online: 22:42
Ik ben bezig met foto systeem aan het aanpassen. Wanneer een member een foto upload wordt er een thumb gemaakt zodaning dat deze niet telkens onfly moeten worden gemaakt (zoals dit nu het geval is).

Nu ben ik bezig met de bestaande foto's een thumb te maken dmv php. Ik doe dit als volgt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?

include "instellingen.php";

$map        = "upload/member/";        // dir waar de foto's staan
$map_thumb    = $member_th;        // dir waar de thumbnails komen
$nwidth     = "160";            // nieuwe breedte
$nheight     = "200";                // nieuwe hoogte
$maxwidth     = "800000";            // maximale breedte
$maxheight    = "600000";            // maximale hoogte

$handle = opendir("$map");

$i =0;
$sqllist = "SELECT * FROM $mysql_leden WHERE fotoaan='1' ORDER BY naam ASC LIMIT 0, 100"; 
$resultlist = mysql_query($sqllist) or die(mysql_error()); 
while ($list = mysql_fetch_object($resultlist))
{

//uitlezen van de dir
       if ($naam != "." && $naam != "..") {
              
     $file = $map ."/". $list->foto;

     list($width, $height) = getimagesize("$file");  
     
            
     //opnieuw aanmaken en opslaan over het orgineel heen
     $pic        =    ImageCreateTrueColor($nwidth, $nheight);
     $cpyImage    =     ImageCreateFromJPEG($file);
     $file_nw    =     $map_thumb ."/". $list->foto;
    
        imagecopyresampled
        ($pic,$cpyImage,0,0,0,0, $nwidth,$nheight,$width, $height);
        ImageJPEG($pic,$file_nw);
       
$i++;
echo "$i<br>";
}
}
// en de dir weer sluiten voor de netheid
closedir($handle);


Zoals je kan zien selecteer ik via object query members met foto en vervolgens ga ik de foto thumben. Ik plak een limiet op de sql van ongeveer 100 foto's / keer.

Maar nadat ik dit een 400-tal keer gedaan heb krijg ik dit:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 4840 bytes) in /var/www/html/test.php on line 30

Iemand een oplossing?

[ Voor 14% gewijzigd door kokorico op 31-05-2004 15:10 ]


Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 03-09 22:58

igmar

ISO20022

kokorico schreef op 31 mei 2004 @ 15:07:
Ik ben bezig met foto systeem aan het aanpassen. Wanneer een member een foto upload wordt er een thumb gemaakt zodaning dat deze niet telkens onfly moeten worden gemaakt (zoals dit nu het geval is).

Nu ben ik bezig met de bestaande foto's een thumb te maken dmv php. Ik doe dit als volgt:

Maar nadat ik dit een 400-tal keer gedaan heb krijg ik dit:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 4840 bytes) in /var/www/html/test.php on line 30

Iemand een oplossing?
Wat is d'r onduidelijk aan de melding ? Je script gebruikt teveel geheugen, waarschijnlijk als gevolg van het niet weer vrijgeven van gemaakte images met imagedestroy

Acties:
  • 0 Henk 'm!

  • kokorico
  • Registratie: Januari 2004
  • Laatst online: 22:42
Ja het was opeens opgelost. Al mijn foto's zijn al geresized :) Een 4000 tal