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

Βρήκες ή ψάχνεις κάτι ενδιαφέρον για τους τομείς των Μαθηματικών, της Φυσικής ή της Πληροφορικής; Για πέρνα να τα πούμε...

Συντονιστές: kostas213, markelos, Tulis

Απάντηση
Άβαταρ μέλους
O kanenas
Δημοσιεύσεις: 3246
Εγγραφή: Κυρ Νοέμ 05, 2006 3:26 pm
Real Name: Αφροξυλάνθη
Facebook ID: 0
Τοποθεσία: Within search engines that search engines that search
Επικοινωνία:

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

Δημοσίευση από 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()).

Μπορεί κανείς να βοηθήσει?
R.I.P.
Life is so vain, but death equals pain
So let's make one more attempt and live with nothing to gain
Άβαταρ μέλους
timos_m
Δημοσιεύσεις: 1047
Εγγραφή: Παρ Δεκ 22, 2006 9:11 pm
Real Name: ΤΜ
Gender: Male
Τοποθεσία: Εδώ

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

Δημοσίευση από timos_m »

Παρόλο που πρώτη φορά βλέπω κώδικα σε PHP ή SQL ή ό,τι είναι αυτό, είπα να ρίξω μια ματιά..

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

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

imagecopyresampled($dst_img, $srt_img,0,0,0,0,200,$thumbY,$picX, $picY);
μήπως αντί για srt_img ήθελες να γράψεις src_img και το πρόβλημα είναι απλά τυπογραφικό;
Λέω εγώ τώρα...
Άβαταρ μέλους
O kanenas
Δημοσιεύσεις: 3246
Εγγραφή: Κυρ Νοέμ 05, 2006 3:26 pm
Real Name: Αφροξυλάνθη
Facebook ID: 0
Τοποθεσία: Within search engines that search engines that search
Επικοινωνία:

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

Δημοσίευση από O kanenas »

Παιδευόμουν τόση ώρα κοιτάζοντας τη συγκεκριμένη γραμμή και δεν έβρισκα τίποτα λάθος!
Νιώθω απίστευτα ηλίθια...

Thanks timos_m, μου άνοιξες τα μάτια! :roll:
R.I.P.
Life is so vain, but death equals pain
So let's make one more attempt and live with nothing to gain
Απάντηση

Επιστροφή στο “Ζητήματα Μαθηματικών - Φυσικής - Πληροφορικής”