Σελίδα 1 από 1

Δημιουργία thumbnail με PHP;

Δημοσιεύτηκε: Σάβ Νοέμ 22, 2008 2:05 pm
από O kanenas
Δεν έχω μεγάλη εμπειρία με php και sql. Προσπαθώ να φτιάξω μια συνάρτηση που δημιουργεί thumbnail της εικόνας που της δίνεται ως παράμετρος. Το thumbnail πρέπει να έχει width 200px, όσο κι αν είναι το width της αρχικής εικόνας.
pic_name_wex: ολόκληρο το όνομα του αρχείου
pic_name: το όνομα του αρχείου, χωρίς το extension
Ο κώδικας είναι ο εξής:

Κώδικας: Επιλογή όλων

function thumbsCreator($pic_name_wex)
{
	connect_db();
	$l = explode('.', $pic_name_wex);
	$pic_name = $l[0];
	$query = "SELECT type FROM afises WHERE name='" . $pic_name_wex . "'";
	$result = mysql_query($query);
	$type = mysql_fetch_array($result);
	if (preg_match('/jpeg/',$type[type]))
		$src_img = ImageCreateFromJpeg($pic_name_wex);
	elseif (preg_match('/png/',$type[type]))
		$src_img = imagecreatefrompng($pic_name_wex);
	elseif (preg_match('/bmp/', $type[type]))
		$src_img = imagecreatefromwbmp($pic_name_wex);
	else
		echo "Δεν υπάρχει διαθέσιμο thumbnail.";
	$picX = imagesx($src_img);
	$picY = imagesy($src_img);
	$coef = $picX/200;
	$thumbY = ($picY / $coef);
	$dst_img = imagecreatetruecolor(200,$thumbY);
	imagecopyresampled($dst_img, $srt_img,0,0,0,0,200,$thumbY,$picX, $picY);
	if (preg_match('/jpeg/',$type[type]))
		imagejpeg($dst_img, $pic_name . "_thumb.jpg");
	elseif (preg_match('/png/',$type[type]))
		imagepng($dst_img, $pic_name . "_thumb.png");
	elseif (preg_match('/bmp/', $type[type]))
		imagewbmp($dst_img, $pic_name . "_thumb.bmp");
	imagedestroy($dst_img); 
	imagedestroy($src_img);
}
Για κάποιο λόγο κάτι δεν έχω κάνει καλά και μου βγαίνει το εξής μήνυμα, όταν πάω να τρέξω την συνάρτηση:

Κώδικας: Επιλογή όλων

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in ...
Στον φάκελο που αποθηκεύονται τα thumbnails δημιουργείται μια εικόνα με τις σωστές διαστάσεις, αλλά αντί να είναι μικρογραφία της αρχικής εικόνας, είναι απλά όλη μαύρη (επειδή δεν δουλεύει το imagecopyresampled()).

Μπορεί κανείς να βοηθήσει?

Re: Δημιουργία thumbnail με PHP;

Δημοσιεύτηκε: Σάβ Νοέμ 22, 2008 2:17 pm
από timos_m
Παρόλο που πρώτη φορά βλέπω κώδικα σε PHP ή SQL ή ό,τι είναι αυτό, είπα να ρίξω μια ματιά..

Σε αυτή τη σειρά:

Κώδικας: Επιλογή όλων

imagecopyresampled($dst_img, $srt_img,0,0,0,0,200,$thumbY,$picX, $picY);
μήπως αντί για srt_img ήθελες να γράψεις src_img και το πρόβλημα είναι απλά τυπογραφικό;
Λέω εγώ τώρα...

Re: Δημιουργία thumbnail με PHP;

Δημοσιεύτηκε: Σάβ Νοέμ 22, 2008 2:18 pm
από O kanenas
Παιδευόμουν τόση ώρα κοιτάζοντας τη συγκεκριμένη γραμμή και δεν έβρισκα τίποτα λάθος!
Νιώθω απίστευτα ηλίθια...

Thanks timos_m, μου άνοιξες τα μάτια! :roll: