Ich benutze folgenden Script:
Wenn ich auf PHP 8 umstelle bekomme ich folgende Fehlermeldung:
"imagecopyresampled(): Argument #2 ($src_image) must be of type GdImage, bool given"
Was läuft da schief? Danke für jeden Tipp.
Jetzt das HTML-Seminar als
Video-Tutorial
mit über 210 Videos,
Gesamtspielzeit über 24 Stunden
Video-Kurs HTML5+CSS+Webdesign
Ich benutze folgenden Script:
Wenn ich auf PHP 8 umstelle bekomme ich folgende Fehlermeldung:
"imagecopyresampled(): Argument #2 ($src_image) must be of type GdImage, bool given"
Was läuft da schief? Danke für jeden Tipp.
Was läuft da schief?
Du liest die Doku nicht.
Siehe https://www.php.net/manual/de/…n.imagecreatefromjpeg.php
Achte auf die Rückgabewerte, dann wird dir klar, was mit "bool given" gemeint ist.
Ja, mir ist klar, was mit "bool given" gemeint ist. Nicht klar ist mir, was die Ursache dafür ist.
Nicht klar ist mir, was die Ursache dafür ist
Das kann doch nur an
liegen.
Man sollte Fehler mit einem @ vor einer Funktion nicht unterdrücken, zumindest nicht, solange ein Script fertig gestellt wurde. Zudem sollte man das Error-Reporting hochdrehen. Siehe auch
Richtig debuggen
ZitatDas kann doch nur an
Code
- $im = @imagecreatefromjpeg(JPATH_ROOT . '/images/example/' . $file);
Auch das ist und war mir völlig klar und logisch. Die Frage ist ja, was denn da falsch sei. Der Klammerausdruck ist korrekt. Auch wenn ich die Adresse aussschreibe kommt der Fehler immer noch.
Was ergibt genau
ZitatJPATH_ROOT . '/images/example/' . $file
Wenn ja, was ich vermute, eine URL bei rauskommt, stellt sich die Frage, ob in der PHP-Konfiguration allow_url_fopen aktiviert ist
Besten Dank für dies Hinweis!
allow_url_fopen ist tatsächlich nicht aktiviert. Ich möchte dies auch nicht tun, da es ja nur eine Awendung betrifft.
Gibt es eine Alternative?
Gibt es eine Alternative?
Klar, weg von der Url zu einem absoluten oder relativen Pfad
ZitatKlar, weg von der Url zu einem absoluten oder relativen Pfad
Hatte ich auch probiert - leider ohne Erfolg. Der Fehler kommt übrigens auch, wenn ich allow_url_fopen aktiviere.
Wenn du einen absoluten Pfad angibst, es die Datei wirklich gibt, nicht beschädigt ist und die Dateirechte stimmen, dann weiß ich auch nicht mehr weiter.
Ja, alles ist iO. Mit PHP 7.4 funktioniert es ja auch. Erst mit PHP 8 kam das Problem.
Wenn du das @ weglässt, kommt dann derselbe Fehler?
Was ergibt is_file() mit demselben Pfad?
Und ist das Bild auch wirklich vom Typ JPG? Es ist schon vorgekommen, dass sich ein Format in der Datei versteckt, das anders ist als die Endung angibt.
is_file() ergbt 1.
Die Bilder sind vom Typ jpg.
Poste doch mal ein Beispielbild als Anhang (sofern es nicht vertraulich ist).
Wenn du das @ weglässt, kommt dann derselbe Fehler?
Würdest du bitte auch diese Frage beantwortet?
Welche PHP-Version hast du genau?
Im offiziellem Bug-Report ist nichts zu imagecreatefromjpeg zu finden. Das Problem muss also auf deiner Seite liegen.
$date ergibt folgendes Array: 500 333 2 width="500" height="333" 8 3 image/jpeg