Ich hab hier ein kleines Script, welches ein Foto (JPG) einliest und ein entsprechendes Vorschaubild wieder ausgibt.
1: <?php 2: 3: if(isset($_GET['url']) and file_exists($_GET['url'])) { 4: $img_info = getimagesize($_GET['url']); 5: if($img_info[0] and $img_info[1] and $img_info[2] == 2) { 6: $height = 100; 7: $width = round($img_info[0] * ($height / $img_info[1]), 0); 8: $img_stream = imagecreatetruecolor($width, $height); 9: $img_original = imagecreatefromjpeg($_GET['url']); 10: 11: imagecopyresampled($img_stream, $img_original, 0, 0, 0, 0, $width, $height, $img_info[0], $img_info[1]); 12: imagedestroy($img_original); 13: } 14: } else { 15: $img_stream = imagecreatefromjpeg('../images/prev_error.jpg'); 16: } 17: 18: header('Content-type: image/jpeg'); 19: imagejpeg($img_stream); 20: imagedestroy($img_stream); 21: 22: ?>
Nu ist das Problem, sobald man als Bild wirklich ein Foto übergibt (und nicht nur eine kleine Beispiel-Grafik von so 500 x 300px), dann kommt das hier:
Zitat
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 9212 bytes) in E:\xampplite\htdocs\scripts\preview.php on line 9
Was mir natürlich wenig bringt, wenn ich die Bilder schon selber vorher kleiner machen muss, damit er sie überhaupt verarbeitet!!!
Ich habe mich schon bei php.net etc. informiert, und demnach sollte es theoretisch auch so gehen, aber in der Praxis sieht man ja, was dabei raus kommt.
Hat also jemand von euch ne Ahnung, was da falsch läuft, bzw. wo der Fehler liegt?
Würde mich sehr über Vorschläge freuen.
Viele Grüße, dblay