| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Gast
Beiträge: n/a
| Hallo allerseits... Mein Provider (Schlund und Partner) hat auf GDLIB 2.0.21 und PHP 4.3.6 umgestellt. Auf diesem Webspace betreiben wir ein Bildportal mit Nachbestellmöglichkeit ( http://www.picsbay.de ). Nach der Umstellung bekamen wir beim Bildupload und anschliessendem Erstellen der Thumnails folgende Fehlermeldung: xxx.jpg is not a valid JPEG file Die jpg-Datei ist aber nachweislich ok ! Der Fehler tritt auch nur bei höher aufgelösten Bilder auf (z.B. 2288x1712 Pixel) auf. Dies sind aber Auflösungen die beim Digitalen Fotografieren häufig vorkommen. Auslösend für diesen Fehler ist die Funktion imagecreatefromjpeg der gdlib. Angesport von dieser Entdeckung und um die Möglichkeit einer fehlerhaften JPG-Datei habe ich dann versucht eigene JPG-Dateien mit der GDLIB zu generieren (Siehe Code). Der Fehler tritt auch beim Versuch auf eine TrueColor-Grafik mit mehr als ca. 3,2 MegaPixeln zu erstellen. So funktioniert es noch eine Grafik mit 2200x1500 Punkten aufzubauen aber nicht mehr mit 2300x1500 Punkten. Bei jeder Kombination mit mehr als 3.300.000 Pixeln steigt die Funktion imagecreatetruecolor also auch aus. Ich habe hierzu ein Testscript erstellt. Ihr könnt es selbst mal ausprobieren unter http://www.picsbay.de/test/gd_test.php Irgendwie habe ich den Verdacht das es sich hier irgendwie um ein Speicherproblem handelt, denn auf meinem Server läuft alles problemlos... Ganz schön kniffelig ... gelle... Also, ich bin um jeden Tip oder Workaround dankbar... Danke im voraus.... Klaus Hier das Test-Script: Code: <?php
$sx=$_SERVER['SCRIPT_NAME']; $pos= strrchr ($sx,"/"); if ($pos!=false) {$sx=substr ($sx, 0, strlen($sx)-strlen($pos));}
$pfad=$_SERVER['DOCUMENT_ROOT'].$sx."/";
$zielname=$pfad."zieldatei.jpg";
$ysize=1500;
for ($ix=1700;$ix<=2700;$ix=$ix+100)
{
//True-Color-Bild erzeugen
$im = imagecreatetruecolor($ix, $ysize);
//Vorhandene Zieldatei löschen
@unlink($pfad.$zielname);
//Bild abspeichern
imagejpeg($im,$zielname);
//Speicher freigeben
imagedestroy($im);
//Grösse des gespeicherten Bilds ermitteln
$arbd=getimagesize($zielname);
if (!isset($arbd[0]))
{
//Zieldatei wurde nicht erstellt
echo "Fehler : Grafik mit ".$ix." x ".$ysize." = ".$ix*$ysize." Pixel konnte nicht erstellt werden !
";
}
else
{
//Zieldatei wurde erstellt
echo "OK : Grafik mit ".$arbd[0]." x ".$arbd[1]." = ".$arbd[0]*$arbd[1]." Pixel konnte erstellt werden !
";
}
}
//Eventuell vorhandene Zieldatei löschen
@unlink($zielname);
echo "
GDLIB-Info:
";
$gdi=gd_info(); reset ($gdi); while (list ($key, $val) = each ($gdi)) {echo "$key => $val
";}
?>
|
|
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| Hallo Hab mal ein typisches Bildchen unter http://www.picsbay.de/test/lion.jpg abgelegt... Orginalauflösung 2288 x 1712 Punkte 835KB Gruss Klaus |
|
| | ||
| Gast
Beiträge: n/a
| Zitat:
Mit ImageMagick (convert) ist sowas allerdings absolut keine Hürde. Allerdings weiß ich nicht, ob Ihr einen eigenen Server habt und dieses Linuxprogramm installieren könnt. Ansonsten: Provider fragen... Ich teste das aber erstmal auf meiner Kiste, ob es wirklich am Speicher liegt! | |
|
| | |
| Gast
Beiträge: n/a
| Hallo Danke erstmal für die Bemühungen... Intressant an der Sache ist eben das das Erstellen eines Bildes mit imagecreatetruecolor ach nur bis zu einer bestimmten Grösse funktioniert. Ich denke mal das das Reservieren von Speichern bei imagecreatetruecolor und imagecreatefromjpeg ziemlich ähnlich läuft. Warscheinlich wird auch bei beiden Funktionen ähnlich viel Speicher benötigt. Nen Admin-Zugang auf den Webspace habe ich leider nicht. Aber eigene CGI's können verwendet werden. Könnte man ImageMagick oder ein anderes Konvertierungstool vielleicht als CGI aufrufen ? Gruss Klaus |
|
| | |||
| Gast
Beiträge: n/a
| Zitat:
Zitat:
| ||
|
| | |
| Gast
Beiträge: n/a
| Hallo Ich hab jetzt nochmal die PHPINFO eingesehen. Habe folgendes Memory-Limit : memory_limit 40M Das müsste doch eigentlich reichen um ne Bitmap mit > 2300 x 1500 Punkten per imagecreatetruecolor aufzubauen oder ? Ich hab noch einen Thread hier im Forum gesehen mit dem Thema Thumbsproblem bei Bilder > 1 MB könnte es sich hierbei vielleicht um das gleiche Problem handeln ? Hat noch jemand ne Idee was ich noch testen könnte ? Gruss Klaus |
|
| | ||
| Gast
Beiträge: n/a
| Zitat:
http://test.php-help.info/img-6/ Original ist das Bild lion.jpg von Dir. | |
|
| | |
| Gast
Beiträge: n/a
| Hallo Meikel Danke für die Mühe... Ist ja ein super Service hier... Werde das Script mal auf meinem Webspace testen. Bin echt mal gespannt.... Bin mir zwar ziemlich sicher das mein Thumb-Script auch OK ist, aber oftmals sieht man ja den Wald vor lauter Bäumen nicht mehr Gruss Klaus |
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] PHP -> Ordner anlegen der sich auch beschreiben lässt?! | Nightuser | PHP Tipps 2008 | 13 | 30.06.2008 23:51 |
| "is not a valid JPEG file" | heohni | PHP Tipps 2006 | 6 | 25.02.2006 00:08 |
| php file download funkt nur mit pdf fehler bei .doc,... | PHP Tipps 2006 | 0 | 10.02.2006 13:12 | |
| session_start fehler? no such file found? | seejay | PHP Tipps 2006 | 11 | 10.01.2006 09:26 |
| Suche Tipps für Persormance-Steigerung (Geld für Nützliches) | Beitragsarchiv | 18 | 16.08.2005 10:57 | |
| libmysqlclient.so.10 is needed | Datenbanken | 11 | 20.06.2005 15:27 | |
| [Erledigt] Unix file lesen? | PHP-Fortgeschrittene | 15 | 08.06.2005 18:05 | |
| update auf php 5.0.4 | robo47 | Server, Hosting und Workstations | 6 | 10.04.2005 19:00 |
| ShowIt_V1.8.14 | PHP Tipps 2005 | 1 | 23.03.2005 19:13 | |
| Fehlermeldung - aber kein fehler... | Tschuu | HTML, Usability und Barrierefreiheit | 16 | 14.03.2005 15:56 |
| Uploader-Script fehler beim Thumbx erstellen | PHP Tipps 2004-2 | 7 | 07.12.2004 10:35 | |
| array_push nur in begrenzter Anzahl ausführen ? | PHP Tipps 2004 | 2 | 07.09.2004 09:05 | |
| Counter zeigt nach ca. 2-3 Stunden fehler an | PHP Tipps 2004 | 2 | 26.08.2004 20:08 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| is not a valid jpeg file, xxx.jpg, jpg auf fehler prüfen, nach gdlib speicher leeren, wo finde ich die datei gd_test.php, jpg mit fehlermeldung, jpeg xxx, php not a jpeg file pdf, gdlib php bild prüfen, jpg dateien auf fehler analysieren, xxx thum pic, php jpg fehler prüfen, jpg auf fehler überprüfen, php jpg bild auf fehler prüfen, jpeg auf fehler prüfen, jpg datei auf fehler prüfen, jpg is not in a valid format, xtcommerce gd lib not found, xtc imageprocessing, not a jpeg file |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.