webForumDet fria alternativet

Automatisk skapning av thumbnails.

PHPur PHP

4 svar · 334 visningar · startad av Fredde Mannen

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#1

Jag har skrivit denna funktion som jag har implementerat i ett av mina uppladdningsscript av bilder.

/*****************************************************************************************/
// Funktion för att skapa thumbnails. 

function CreateThumbNails($imgfile,$imagename,$width,$height) {
	// Hämta orginalbilden.
	$source_img = imagecreatefromjpeg($imgfile);
	
	// Skapa en ny bild för en thumbnail.
	$new_W = 50;
	$new_H = 50;
	$destination_img = imagecreate($new_W,$new_H);
	
	// Skapa thumbnail
	imagecopyresized($destination_img,$source_img,0,0,0,0,$new_W,$new_H,$width,$height);
	
	// Skapa jpeg bild.
	imagejpeg($destination_img,"./galleri/thumbs/th_".$imagename,30);
	
	// Förstör temporära bilderna.
	imageDestroy($source_img);
	imageDestroy($destination_img);
	}
	
/*****************************************************************************************/

// Anropa funktionen
CreateThumbNails('./galleri/bild.JPG','bild.JPG',50,50);

Men det verkar inte funka, min bild laddas upp som den ska, men någon thumbnail skaps aldrig får endast en blank sida med:

Array
(
)

Servern har följande fungerande:

servern skrev:

GD Support enabled
GD Version bundled (2.0.12 compatible)
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

Var kan mitt problem, fel ligga? Kan inte ha något med uppladdningsfunktionen för den funkar prima, men just denna funkar inte alls?

Hittar ni felen är jag tacksam? :)

MatteMedlem sedan aug. 20002 975 inlägg
#2

Har du något mer på sidan än den här koden ?

Filen ska generera en bild, så du får inte ha något output till webbläsaren föra denna kod. Inte ens en tomrad eller mallenslag före PHP-taggen.

Att du får array() utskrivet tyder på att du har något annat som ger output från sida.

För att visa din bild får du i ett annat skript lägga in "bilden" i en img-tagg:

<img src="bild.php">

Rekommenderar också att du för bättre bildkvalitet byter ut imagecreate mot imagecreatetruecolor samt byter ut imagecopyresized mot imagecopyresampled.

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#3

Matte skrev:

Har du något mer på sidan än den här koden ?

Filen ska generera en bild, så du får inte ha något output till webbläsaren föra denna kod. Inte ens en tomrad eller mallenslag före PHP-taggen.

Att du får array() utskrivet tyder på att du har något annat som ger output från sida.

För att visa din bild får du i ett annat skript lägga in "bilden" i en img-tagg:

<img src="bild.php">

Rekommenderar också att du för bättre bildkvalitet byter ut imagecreate mot imagecreatetruecolor samt byter ut imagecopyresized mot imagecopyresampled.

Saken här ju att den skall skapa en bild i mappen thumbs... eller har jag missförstått detta...

MatteMedlem sedan aug. 20002 975 inlägg
#4

Fredde Mannen skrev:

Saken här ju att den skall skapa en bild i mappen thumbs... eller har jag missförstått detta...

Nej du har så rätt, bara jag som är trött.

Detta att du får array(), är det i skriptet som ska skapa din thumbnail ?
Då måste det vara något annat som ger den utskriften.

Lägg följande överst i skriptet för att koppla på alla felmeddelande:

<?php

error_reporting(E_ALL);
ini_set("display_errors", "1");
Fredde MannenMedlem sedan nov. 20014 054 inlägg
#5

Tack! :)

Nu såg man vad felet var! :) sökvägen till mappen var tvungen att vara fysisk! :)

Tack tack!

128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)