Ik heb een vreemd probleem wanneer ik afbeeldingen probeer te schalen met PHP.
ik heb deze code:
Het probleem is dat ik deze foutmelding krijg met vermelding van de 7de regel van deze methode:
Ik heb met behulp van 'memory_get_usage' het geheugengebruik onderzocht:
- bij het het starten van de methode: 1.25MB
- net voor imagecreatefromjpeg 1.25MB
- bij 'imagecreatefromjpeg' crasht het script, er is nochtans 40MB beschikbaar ...
Dit gebeurd bij het inladen van een afbeelding van 0.5MB (jpeg).
Iemand die raad weet? Of is dit normaal bij het inladen van afbeeldingen?
ik heb deze code:
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
| public function makeThumb($dir, $imageName){ $bron = $dir . '/' . $imageName; //De hoogte en breedte ophalen van het plaatje $dimensions = getimagesize($bron); //Het plaatje inlezen in de variabele $image $image = imagecreatefromjpeg($bron); //een nieuw klein plaatje maken met de gewenste grootte $destination = imagecreatetruecolor($this->img_width, $this->img_width); //postitie voor kopieren bepalen (croppen) if($dimensions[0] < $dimensions[1]){ $sourceY = ($dimensions[1]-$dimensions[0])/2; $sourceX = 0; $src_height = $dimensions[0]; $src_width = $dimensions[0]; } else { $sourceX = ($dimensions[0]-$dimensions[1])/2; $sourceY = 0; $src_height = $dimensions[1]; $src_width = $dimensions[1]; } imagecopyresampled($destination, $image, 0, 0, $sourceX, $sourceY, $this->img_width, $this->img_width, $src_height, $src_width); //Het plaatje opslaan $path = $dir . '/thumbs/' . $imageName; imagejpeg($destination, $path); //Het bronplaatje verwijderen imagedestroy($image); //Het doelplaatje verwijderen imagedestroy($destination); } |
Het probleem is dat ik deze foutmelding krijg met vermelding van de 7de regel van deze methode:
code:
1
| Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 9344 bytes) in ... |
Ik heb met behulp van 'memory_get_usage' het geheugengebruik onderzocht:
- bij het het starten van de methode: 1.25MB
- net voor imagecreatefromjpeg 1.25MB
- bij 'imagecreatefromjpeg' crasht het script, er is nochtans 40MB beschikbaar ...
Dit gebeurd bij het inladen van een afbeelding van 0.5MB (jpeg).
Iemand die raad weet? Of is dit normaal bij het inladen van afbeeldingen?