Komische Zeichen bei Thumbnails erstellen

redX

Erfahrenes Mitglied
Also ich möchte mir ein paar Thumbnails erstellen. Zuerst mal der Source

PHP:
for ($printed_rows = 0;$printed_rows < $rows;$printed_rows++) {
  echo "<tr>";
  for ($printed_cells = 0;$printed_cells < $cells;$printed_cells++) {

    $res=getimagesize($path . "fun-pic-" . $pic_number . ".jpg"); //Bildgroesse der Quelle bestimmen
    $destresX=400; //x-Aufloesung des Endbildes angeben
    $faktor=$destresX/$res[0]; //Scalierungsfaktor errechnen
    $destresY=$res[1]*$faktor; //y-Aufloesung des Endbildes errechnen

    $res=getimagesize($path . "fun-pic-" . $pic_number . ".jpg"); //Bildgroesse der Quelle bestimmen
    $destresX=400; //x-Aufloesung des Endbildes angeben
    $faktor=$destresX/$res[0]; //Scalierungsfaktor errechnen
    $destresY=$res[1]*$faktor; //y-Aufloesung des Endbildes errechnen

    //Creating Destination Empty Thumb
    $dest = ImageCreateTrueColor($destresX,$destresY); //kreiert Voransicht, da kommt das bild dann rein

    //Creating Source Image from filename
    $src = ImageCreateFromJPEG($path . "fun-pic-" . $pic_number . ".jpg"); //	Lädt das zu verkleinernde Bild erstmal in PHP

    imagecopyresampled($dest, $src, // Zielbild, Bildquelle
    0, 0, // X,Y-Koordinate Ziel
    0, 0, // X,Y-Koordinate Quelle
    $destresX, $destresY,// Zielbreite, Zielhöhe
    $res[0], $res[1]); // Quellbreite, Quellhöhe

    echo "<td class=\"inhalt\">" . ImageJPEG($dest) . "</td>";
    $pic_number++;
  }	
  echo "</tr>";
}

Fehlermeldung:
ÿØÿàcŒñ‘ž) B£zŸÂO‡ƒÄ7g[ÔíÛû:HH`e8ŽœaºƒÚ¹È’up¤±ãÐ}ãéZ^Я´ë«»ëÿ!\ê>±²Ôg‡O(á?Ÿ0“ ¤G_zõûË+{ØD7q AÇ°ˆ¨`Ólm¯Zæ+`“mÙ¸’ Î=ÿK?ÌOCœäÕ?¡xV·Ô'ñV›æ5½Á"ÞÊᳶ.?ÉÈé?^™{§[j{¸xX‚U€ `ç¿ÐU?§@:þTåÚ÷…õ›¯[ëw«q{¤V—_e1Ÿ—©î/LWOŸ¨ê~º¶¾ˆDh†q!NA-ß ®¯Ëݤ(ê¨Æ(®’Y´Ë]à†€21œJµ)bŽÊ£xRg©ÅH?”ç6³1Óníoô§ÔÈ(‘*àÒñ–“â=n´éÕ›£ÄÀ«)ä† (®?(hº27B+…×þ¯Ú?µü1s%†¤§pXØ*?OEϯ~õëá±ê~ì?b{|ý•80?Zñ½3â–©áÙ“Mñ??”éÇÚ•N€r[¹?ëÔ4_i¾ µ[?2í'ˆ÷è§h3V—f“viÜ£™¤ÝŠIÜ¥¤Îihzx[Å·É{¨DL Ÿž [¯R=kÑLÐùšOøÃÄñ?¨\OrOʰ£ôQï_Yø[íëá{ÔؽéCæ1P;œp=±T4?x_ÃQ?gai¹NDÒ¢3¨ÿ¸]ë}3þí¤¿!ô?-K¥5ºFñQQ°¬±â?°EãcÞ¦*D×ô

.... und so weiter ...

Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: in /home/www/web114/html/pages/fun-pic-gallery.php on line 80

Warning: imagecreatefromjpeg(): './../funny-stuff/pic/fun-pic-2.jpg' is not a valid JPEG file in /home/www/web114/html/pages/fun-pic-gallery.php on line 80

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/www/web114/html/pages/fun-pic-gallery.php on line 86

... wieder ein paar hyroglypen (oder so) ...

Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: in /home/www/web114/html/pages/fun-pic-gallery.php on line 80

Warning: imagecreatefromjpeg(): './../funny-stuff/pic/fun-pic-8.jpg' is not a valid JPEG file in /home/www/web114/html/pages/fun-pic-gallery.php on line 80

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/www/web114/html/pages/fun-pic-gallery.php on line 86

... und wieder hyroglypen ...

Es sollen bild 1 - 9 Angezeigt werden. Jedoch gibt es die Fehlermeldungen nur beim Bild 2 und 8. Aber es werden gar keine Bilder angezeigt.

Weiss jemand an was das liegen könnte?

MFG
redX
 
Du musst PHP noch sagen was du für ne Datei ausgeben möchtest:

PHP:
header("Content-type: image/jpeg");
 
BSA liegt genau richtig. Du kannst Bilder nicht in den HTML-Quelltext einbetten. Entweder Du sendest einen Bildheader, dann stellt der Browser EIN Bild dar oder Du bindest das Script in das IMAGE-Tag ein.

Beispiel:
HTML:
<img src="bilderstellung.php">

Wieder gilt: Entweder Bild oder HTML Quelltext. Nicht beides gemischt ausgeben, das endet mit interessanten Fehlern. Der Zeichensalat den Du erhälst ist der Inhalt Deiner Thumbnails, wie er aussehen würde, wenn Du das Bild mit einen Texteditor öffnen würdest ;)

Lies mal folgende Texte:
http://www.drweb.de/php/icons_dynamisch.shtml
http://www.tutorials.de/tutorials15272.html

Das ist zwar nicht genau Dein Problem, schildert aber auch den Teil der Dir Probleme bereitet.
 
Habe nur mal den ersten Link durchgelesen. Aber danke Läute. Habt mir geholfen. Vielen Dank Läute! Es funktoniert jetzt auch.

create_pic.php:
PHP:
header ("Content-Type: image/jpeg", true);
	
	$res=getimagesize($path . "fun-pic-" . $pic_number . ".jpg"); //Bildgroesse der Quelle bestimmen
	//echo "width: " . $res[0] . " height: " . $res[1] . "<br>";
	$destresX=100; //x-Aufloesung des Endbildes angeben
	$faktor=$destresX/$res[0]; //Scalierungsfaktor errechnen
	$destresY=$res[1]*$faktor; //y-Aufloesung des Endbildes errechnen
	
	//Creating Destination Empty Thumb
	$dest = ImageCreateTrueColor($destresX,$destresY); //kreiert Voransicht, da kommt das bild dann rein
	
	//Creating Source Image from filename
	$src = ImageCreateFromJPEG($path . "fun-pic-" . $pic_number . ".jpg"); //Lädt das zu verkleinernde Bild erstmal in PHP
		
	imagecopyresampled($dest, $src, // Zielbild, Bildquelle
	0, 0, // X,Y-Koordinate Ziel
	0, 0, // X,Y-Koordinate Quelle
	$destresX, $destresY,// Zielbreite, Zielhöhe
	$res[0], $res[1]); // Quellbreite, Quellhöhe
	
	ImageJPEG($dest,"yuhu_".$pic_number,100);

Und im anderen Rufe ich nur noch das create_pic.php auf.

PHP:
	echo "<td class=\"inhalt\"><img src=\"create_pic.php?path=" . $path . "&picPathOut=" . picPathOut . "&pic_number=" . $pic_number . "\"></td>\n";

Jetzt habe ich aber noch 2 Fragen.

Beim Befehl ImageJPEG kann man ja noch 2 weitere Attribute mitgeben. Für was ist das Attribut filename (php.net verstand ich nicht was dort stand)?

http://simonlang.ch/pages/fun-pic-gallery.php
2 Bilder auf der Page funktionierten nicht. Nr 2 und Nr 8. Kann mir jemand vieleicht sagen wieso?

MFG
redX
 
Mit dem Parameter $filename sorgst Du dafuer, dass das Bild nicht ausgegeben sondern unter dem angegebenen Namen auf dem Server gespeichert wird.
 
Vielleicht hilft das hier weiter. Hab das bei php.net gefunden:
PHP:
Imagejpeg($im,$tmpfname); // save me image to the file
Hmmm... Da ist mir wohl schon jemand zuvor gekommen :-)
 
vielleicht passt etwas mit den Dateinamen nicht so ganz!

:offtopic:
Der size-Wert wird nicht in den Querystring übernommen! Außerdem wird man auf die Startseite zurückgeworfen, wenn man die Größe ändert! Das würde ich nicht machen! Ist unangenehm!!

//edit:
dafür sind die Bilder spitze :-)
 
Zuletzt bearbeitet:
Zuerst hat es nur mit JPG funktioniert. Deshalb hat auch Nr 86 nicht funktioniert (geht jetzt aber). Jedoch 2 und 8 sind beide mit der Endung .jpg wie die meisten. Sollte also Funktionieren. Ich habe keinen Plan wieso...

PHP:
	if (file_exists($path . "fun-pic-" . $pic_number . ".jpg")) $extension = ".jpg";

Beim Bild Nr2 & Nr8 wird die Bedinung erfüllt, wie bei den anderen. Aber angezeigt wird nix... HILFE!

Hey nero_85
Danke für die Inputs. Das Script ist auch noch nicht fertig. Möchte auch das man auf ein Bild draufklicken kann und es dann Gross angezeigt wird. auch noch nicht.
Und mann soll auch noch die Seite wählen können...
Size jetzt.

MFG
redX
 
Zurück