| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

29-04-2010, 14:31
|
|
infeloba
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 36
|
|
Image resize Problem
Hi @ll!
Soweit funktioniert das Resize...
Nur wenn das Bild welches ich hochladen möchte ca. 4000 x 3000 Pixel groß ist, dann verarbeitet er das Bild erst garnicht...
Wenn ich das Bild manuell auf eine Größe auf ca. 1600 x 1200 ändere , dann gehts...
Was mach ich falsch?
Hier ist der Code:
PHP-Code:
if(isset($_POST['neu_bild'])){ if(!is_uploaded_file($_FILES['datei']['tmp_name'])){ echo "<font color='#ff0000'>Bild wurde nicht hochgeladen</font>"; }elseif(!move_uploaded_file($_FILES['datei']['tmp_name'], '../images/'.$_FILES['datei']['name'])){ echo "<font color='#ff0000'>Fehler beim Verschieben des Uploads</font>"; }elseif(empty($_POST['bild_titel'])){ echo "<font color='#ff0000'>Bitte geben Sie einen Titel ein</font>"; }elseif(empty($_POST['arithmetic'])){ echo "<font color='#ff0000'>Die Sicherheitsabfrage ist nicht gelöst worden</font>"; }elseif($_POST['number'] != md5($_POST['arithmetic'])){ echo "<font color='#ff0000'>Die Sicherheitsabfrage war falsch</font>"; }elseif ($_POST["SPAM"] != ""){ die('Fehler'); }else{ $galerie_titel = $_POST['galerie_titel']; $bild_titel = $_POST['bild_titel']; $bild_beschreibung = $_POST['Anfrage']; $timestamp = time(); if($_FILES['datei']['size'] < 1024000){ include('../../include/db_verbindung.inc.php'); $sql = mysql_query("INSERT INTO bilder SET galerie_titel='".$galerie_titel."',bild_titel='".$bild_titel."', bild_pfad='images/',bild_name='".$_FILES['datei']['name']."',bild_beschreibung='".$bild_beschreibung."',timestamp='".$timestamp."'"); $dateityp = getimagesize("../images/".$_FILES['datei']['name']); $Grafikdatei = "../images/".$_FILES['datei']['name']; $OriginalBreite = $dateityp[0]; $OriginalHoehe = $dateityp[1]; if($OriginalHoehe[1] < $OriginalBreite[0]){ $Neue_Breite = 1024; }else{ $Neue_Breite = 768; } if($OriginalBreite < $Neue_Breite){ $Neue_Breite = $OriginalBreite; } $Skalierungsfaktor = $OriginalBreite / $Neue_Breite; $Neue_Hoehe = intval($OriginalHoehe / $Skalierungsfaktor); if($dateityp[2] == 1){ $Originalgrafik = ImageCreateFromGIF($Grafikdatei); $Thumbnailgrafik = ImageCreateTrueColor($Neue_Breite, $Neue_Hoehe); imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $Neue_Breite, $Neue_Hoehe, $OriginalBreite, $OriginalHoehe); ImageGIF($Thumbnailgrafik, $Grafikdatei, 100); } if($dateityp[2] == 2){ $Originalgrafik = ImageCreateFromJPEG($Grafikdatei); $Thumbnailgrafik = ImageCreateTrueColor($Neue_Breite, $Neue_Hoehe); imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $Neue_Breite, $Neue_Hoehe, $OriginalBreite, $OriginalHoehe); ImageJPEG($Thumbnailgrafik, $Grafikdatei, 100); } if($dateityp[2] == 3){ $Originalgrafik = ImageCreateFromPNG($Grafikdatei); $Thumbnailgrafik = ImageCreateTrueColor($Neue_Breite, $Neue_Hoehe); imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $Neue_Breite, $Neue_Hoehe, $OriginalBreite, $OriginalHoehe); ImagePNG($Thumbnailgrafik, $Grafikdatei, 100); } echo "<font color='#008000'>Bild erfolgreich hinzugefügt</font>"; echo "<meta http-equiv='refresh' content='0;url=./bilder_galerie_ausgabe.php?id=".$galerie_titel."' />"; }else{ echo "<font color='#ff0000'>Die erlaubte größe vom Bild beträgt maximal 1 MB.</font>"; } } }
Bitte um Hilfe
Gruß infeloba
|

29-04-2010, 14:33
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Das erste was du falsch machst ist, dass du die Regeln nicht gelesen hast. Die stellen eine ganze Reihe Möglichkeiten vor, wie man dem Problem auf die Schliche kommen kann, wenn es den Anschein macht, dass es "einfach nicht geht". Konkret: Error Reporting hoch- bzw. einschalten!
|

29-04-2010, 14:39
|
|
infeloba
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 36
|
|
Ich habe schon seit 2 Tagen versucht, das Problem zu beheben, jedoch liegt es eindeutig daran, dass wenn das Bild Originalbild auf der Festplatte zu hochpixelig ist, verarbeitet er das Bild nicht. Wenn es ca. 1600 x 1200 Pixel verkleinert wurde, dann verabeitet er es...
Ich habe "error_reporting(E_ALL)" nun eingeschaltet, bekomme jedoch keine Fehlermeldung....
Ich bitte höflichst um eine kleine Hilfe.
Danke!
Geändert von infeloba (29-04-2010 um 14:46 Uhr)
|

29-04-2010, 14:46
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
wie sieht es mit display_errors aus?
Jedenfalls wird vermutlich das Speicherkontingent überschritten. 4000px*3000px*24bit = 36000000Byte = 34MiB. Wenn dir nur 15 oder 20 zur Verfügung stehen, kann PHP das Bild nicht laden.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
Geändert von AmicaNoctis (29-04-2010 um 14:49 Uhr)
|

29-04-2010, 14:59
|
|
infeloba
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 36
|
|
Zitat:
Zitat von AmicaNoctis
Hallo,
wie sieht es mit display_errors aus?
Jedenfalls wird vermutlich das Speicherkontingent überschritten. 4000px*3000px*24bit = 36000000Byte = 34MiB. Wenn dir nur 15 oder 20 zur Verfügung stehen, kann PHP das Bild nicht laden.
Gruß,
Amica
|
Hallo, danke für den entscheidenen Hinweis!! Man lernt ja nie aus
Du hattest absolut recht !!!
Folgende Fehlermeldung:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 16128 bytes) in /var/www/vhosts/meine_domain/httpdocs/admin/bildergalerie/bilder_hochladen.php on line 113
Wie kann ich das so ändern, dass er dieses Bild auch bearbeitet?
Gruß
|

29-04-2010, 15:14
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.759
|
|
Eigener Server mit Zugriff auf der php.ini oder Webspace-Paket?
eigener Server: -> memory_limit in php.ini erhöhen
Webspace-Paket: -> Beim Hoster betteln den entsprechenden Wert für dich hochzusetzen - erwarte aber nicht unbedingt eine positive Reaktion.
__________________
Drelingdo
Krabonse
Simmannamando
|

29-04-2010, 15:18
|
|
infeloba
Registrierter Benutzer
|
|
Registriert seit: Apr 2010
Beiträge: 36
|
|
Danke für die schnelle Antwort, ich habe schon versucht manuell den Wert zu erhöhen... Leider ohne Erfolg.
Jetzt muss ich EVANZO wohl anbetteln....
Danke !
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|