ich arbeite gerade an einem Uploadscript für Bilder. Bilder welche zu groß sind werden kleiner gemacht und komprimiert. Bei Bildern mit 200kb und ner Auflösung von 1280 x 1024 das Script noch fehlerfrei. Versuche ich aber n Bild von der Digicam hochzuladen, wird folgende Fehlermeldung ausgegeben
Fatal error: Allowed memory size of 20971520 bytes exhausted at (null):0 (tried to allocate 9088 bytes) in /home/www/kunden/___/bildergalerie/upload.php on line 155
Fatal error: Allowed memory size of 20971520 bytes exhausted at (null):0 (tried to allocate 9088 bytes) in /home/www/kunden/___/bildergalerie/upload.php on line 155
Code:
$info = getimagesize ($file_tmp);
if ($info[2] == 2) {
if ($info[0] > 750 or $info[1] > 570) {
// Bild verkleinern, Breite/Höhe berechnen
$size_x = $info[0];
$size_y = $info[1];
$ratio = $size_x / $size_y;
if ($ratio > 1) { //Querformat
$newsize_x = 750;
$newsize_y = ceil(750/$ratio);}
else {
$newsize_y = 570;
$newsize_x = ceil(570*$ratio);}
$new_image = imagecreatetruecolor($newsize_x, $newsize_y); //Create a new true color image
$old_image = imagecreatefromjpeg($file_tmp); imagecopyresampled($new_image, $old_image, 0, 0, 0, 0, $newsize_x, $newsize_y, $size_x, $size_y);
imagejpeg($new_image,$file_tmp,10);
move_uploaded_file ($file_tmp, $upload_path.$file_dest); $db_connect = MYSQL_CONNECT ($db_server, $db_id, $db_pw);
$db_select_db = MYSQL_SELECT_DB ($db_database);
$db_insert = MYSQL_QUERY ("INSERT INTO $table2 (cat1, cat2, filename, date, submitter, status) values ('$cat1', '$cat2' , '$file_dest' , '$date' , '$submitter', 'neu')");
MYSQL_CLOSE();
echo "<strong>Bild ".$z++.":</strong><br>erfolgreich verkleinert und auf Server übertragen!<br>";
}
Zuletzt bearbeitet: