Thumbnails

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Thumbnails

Δημοσίευση από vassilism » 15 Δεκ 2007 18:43

Παιδιά καλησπέρα σας.
Θα ήθελα την πολύτιμη βοήθειά σας.

Χρειάζομαι ένα script που να κάνει τα εξής:
1. Να κάνει upload μια εικόνα (και να γίνονται σχετικοί έλεγχοι αν υπάρχει ήδη η εικόνα κτλ).
2. Να δημιουργείτε Thumbnail της εικόνας.
3. Να αποθηκεύετε το όνομα της εικόνας και το όνομα του Thumbnail σε πεδία της mysql.
Έχω ψάξει πάρα πολύ για κάτι τέτοιο και το μόνο που βρίσκω είναι ημιτελή scripts για Thumbnails.

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Thumbnails

Δημοσίευση από Alice_Cooper » 16 Δεκ 2007 02:31

tha sou po enan tropo (pou mou fenetai aplos) kai an den to vgaleis pame se komatia code....
vazeis sthn vash tis egrafes
apofasizeis ta arxia na legontai ... $tablename."thumb".$ID kai $tablename."image".$ID
(tablename to onoma tou table kai ID to id pou exei h egrafh sto table) kai ta vazeis se antistixous fakelous....
(tha mporouse kai na einai mono to table name kai num)
opote etc kaneis kai diorthoseis stis egrafes ... kai upload mono tin nea ikona ktl ... apla logo volematos.... na mhn exeis na skeftesai kai diorthoseis onomatos....

den kaneis elegxo an yparxei h photo apla se kathe anevasma kanei antistixia thn photo (h nea photo) an ypirxei sthn egrafh ....

to thumb to dimiourgis pernontas
thn megaliteri plevra os statheri sto megethos pou thes
kai thn allh dierontas to megethos pou thes me thn megaliterh kai polaplasiazontas me thn mikrh dld... esto neo megethos 100

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

//an to ypsos einai megalitero
          $thumb_w = (100 / $megalis_h) * $megalis_w;
          $thumb_h = 100;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Thumbnails

Δημοσίευση από fafos » 16 Δεκ 2007 17:14

Loipon patrida, an vgazeis lefta apo auta pou sou dinoume theloume kai pososta :lol:

na arxiso ta ellhnika gia na mh sas stravoso..

Αυτό είναι ένα βοήθημα με το οποίο μπορείς να ανεβάζεις μία εικόνα σε μορφή jpg, gif, bmp & png και να την μετατρέπει σε μικρογραφία και η κανονική να είναι στο μέγεθος που θέλεις για να μην σου "σκοτώνει" το layout όταν την εμφανίζεις..

Οδηγίες προς ναυτιλομένους:

Επισυνάπτω ένα zip αρχείο το οποίο περιέχει τα εξής αρχεία και φακκέλους:

uploads (εδώ ανεβαίνουν οι εικόνες μας)
config.php (εδώ δίνουμε τα στοιχεία της βάσης και μεγέθη εικόνων)
index.php (η φόρμα upload)
thumbnail.class.php (η class που κάνει τις μετατροπές των εικόνων)


Ανεβάζουμε στον server μας όλα αυτά τα αρχεία..

Δίνουμε CHMOD=777 στον φάκκελο uploads

Ανοίγουμε το αρχείο config.php με κάποιον κειμενογράφο και δίνουμε τα στοιχεία της βάσης δεδομένων μας και τα μεγέθη που επιθυμούμε για την κύρια εικόνα και την μικρογραφία της. Αν η εικόνα είναι μικρότερη από το μέγεθος που δίνουμε δεν την αλλάζει αλλά αποθηκεύει την εικόνα που ανεβάζουμε ατόφια. Το ίδιο ισχύει αν η εικόνα είναι μικρότερη από το μέγεθος που έχουμε δώσει για την μικρογραφία (δεν αλλάζουν ούτε η κύρια ούτε η μικρογραφία)

Στο index.php (μπορούμε να το ονομάσουμε όπως θέλουμε) έχω φειάξει μία φόρμα η οποία στέλνει στην βάση τον τίτλο που θέλουμε να δώσουμε την κατηγορία και το όνομα των εικόνων. Μπορείς να βάλεις όσα πεδία επιθυμείς..

Για όνομα των εικόνων δίνω ένα 12ψήφιο νούμερο:
$fname = substr(time().rand(10,99),-12);

σε αυτό το όνομα προσθέτω μετά μία κατάληξη για κάθε εικόνα:

_lrg για την κανονική εικόνα και
_sml για την μικρογραφία

Μέσα στην βάση έχω 2 πεδία με όνομα image & thumb στα οποία σώζω τον όνομα των εικόνων: π.χ. 119782375971_lrg.jpg & 119782375971_sml.jpg

Εφόσον ξέρουμε τα ονόματα απλώς τις καλούμε από την βάση μας και τελειώσαμε..


Το structure της βάσης μου:

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

CREATE TABLE `thumbs` (
  `id` int(3) unsigned NOT NULL auto_increment,
  `title` varchar(250) character set greek NOT NULL,
  `category` varchar(100) character set greek NOT NULL,
  `image` varchar(20) character set greek NOT NULL,
  `thumb` varchar(20) character set greek NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=greek COLLATE=greek_general_ci AUTO_INCREMENT=1 ;

μόνο αυτά....
Συνημμένα
thumbs.zip
arxeia
(40.14 KiB) Μεταφορτώθηκε 726 φορές

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Thumbnails

Δημοσίευση από fafos » 16 Δεκ 2007 18:06

Mia mikrh diorthosh...

An anevasete kapoia gif h png eikona me transparent (diafanh) fonto tha parete ena mauro fonto..

auto diorthonetai os ekshs:

anoikste to arxeio thumbnail.class.php kai breite authn thn grammh:

$this->img_new = imagecreatetruecolor($this->width, $this->height);


akrivos apo kato prostheste auta:

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

$nrcolors = imagecolorstotal($this->img_new);
@imagetruecolortopalette($this->img_new, true, $nrcolors);


@$color = imagecolortransparent($oSourceImage);
$color = imagecolorallocate($this->img_new,
0xFF & ($color >> 0x10),
0xFF & ($color >> 0x8),
0xFF & $color);
$color = imagecolortransparent($this->img_new, $color);


imagefill($this->img_new, 0,0, $color);
soste to arxeio.. etoimoi..

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Thumbnails

Δημοσίευση από fafos » 16 Δεκ 2007 18:14

Otan gernas ksexnas :D

An thelete na orisete thn poiothta ths eikonas sas vreite authn thn grammh pali sto thumbnail.class.php:

$outputImageFunction($this->img_new, $this->fullDestination);

allakste thn me authn:

$outputImageFunction($this->img_new, $this->fullDestination,90);

o arithmos 90 dhlonei thn poiothta (megisto 100).. proteinomeno 90-95

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Thumbnails

Δημοσίευση από vassilism » 16 Δεκ 2007 18:21

Πρέπει οπωσδήποτε να γίνει βοήθημα.
Πατρίδα είσαι φανταστικός. :respect:
Το απόλυτο script για Thumbnails, όσο κι αν έψαξα πουθενά δεν βρήκα κάτι τέτοιο.
Δοκίμασα να ανεβάσω .bmp και μου βγάζει λάθη. Μήπως η GD δεν μπορεί να φτιάξει bmp?
Όσον αφορά τα λεφτά, δεν το κάνω επαγγελματικά, ακόμα μαθαίνω (και έχω πολλά να μάθω ακόμη). Όταν φθάσω σε κάποιο επίπεδο κοντά στο δικό σας, ίσως να κάνω το χόμπι μου επάγγελμα.
Πάντως αποφάσισε εσύ να κατέβεις κάποια στιγμή γιατί σου έχω τάξει τραπέζι. :D

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Thumbnails

Δημοσίευση από fafos » 16 Δεκ 2007 19:00

vassilism έγραψε:Πρέπει οπωσδήποτε να γίνει βοήθημα.
Πατρίδα είσαι φανταστικός. :respect:
Το απόλυτο script για Thumbnails, όσο κι αν έψαξα πουθενά δεν βρήκα κάτι τέτοιο.
Δοκίμασα να ανεβάσω .bmp και μου βγάζει λάθη. Μήπως η GD δεν μπορεί να φτιάξει bmp?
Όσον αφορά τα λεφτά, δεν το κάνω επαγγελματικά, ακόμα μαθαίνω (και έχω πολλά να μάθω ακόμη). Όταν φθάσω σε κάποιο επίπεδο κοντά στο δικό σας, ίσως να κάνω το χόμπι μου επάγγελμα.
Πάντως αποφάσισε εσύ να κατέβεις κάποια στιγμή γιατί σου έχω τάξει τραπέζι. :D
Pou to dokimases? local h pano se unix server? nomizo ta windows den yposthrizoun thn fuction gia bmp arxeia..

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Thumbnails

Δημοσίευση από vassilism » 16 Δεκ 2007 21:09

Σε Linux server με apache.
Εδώ είναι http://www.lernijuices.com/thumbs

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Thumbnails

Δημοσίευση από fafos » 16 Δεκ 2007 21:26

vassilism έγραψε:Σε Linux server με apache.
Εδώ είναι http://www.lernijuices.com/thumbs
na sou po thn alhtheia den exo kanena bmp arxeio sto pc mou kai den ta xrhsimopoio genika dioti einai poly "varia".. opote katarghse to....

Άβαταρ μέλους
Risk
Δημοσιεύσεις: 319
Εγγραφή: 02 Μάιος 2006 01:16
Τοποθεσία: Κάπου εδώ γύρω...
Επικοινωνία:

Thumbnails

Δημοσίευση από Risk » 16 Δεκ 2007 22:56

Fafo se euxaristoume para ma para poli!!!
Εικόνα

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Thumbnails

Δημοσίευση από vassilism » 17 Δεκ 2007 01:18

Κατάργησα και τις bmp και τις png, μου παρουσίαζαν προβλήματα.
Αξίζει να αναφερθεί πως σε μερικές gif παρουσιάζει αλλοιώσεις στα χρώματα, ενώ έχω ορίσει στο $outputImageFunction 95.

Το σίγουρο είναι ότι με τις jpeg δουλεύει τέλεια.

Μια απορία έχω μόνο, μπορώ να φτιάξω το index.php έτσι ώστε να καταχωρεί τις εγγραφές στην mysql ακόμα και αν δεν έχω επιλέξει να ανεβάσω εικόνες?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Thumbnails

Δημοσίευση από fafos » 17 Δεκ 2007 01:27

vassilism έγραψε:Κατάργησα και τις bmp και τις png, μου παρουσίαζαν προβλήματα.
Αξίζει να αναφερθεί πως σε μερικές gif παρουσιάζει αλλοιώσεις στα χρώματα, ενώ έχω ορίσει στο $outputImageFunction 95.

Το σίγουρο είναι ότι με τις jpeg δουλεύει τέλεια.

Μια απορία έχω μόνο, μπορώ να φτιάξω το index.php έτσι ώστε να καταχωρεί τις εγγραφές στην mysql ακόμα και αν δεν έχω επιλέξει να ανεβάσω εικόνες?
Ti GD exeis ston server?

giati na kaneis eggrafh re patrida sthn vash an den yparxei image?

Άβαταρ μέλους
papatzas
Δημοσιεύσεις: 227
Εγγραφή: 03 Δεκ 2005 14:23

Thumbnails

Δημοσίευση από papatzas » 17 Δεκ 2007 14:46

:-)

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Thumbnails

Δημοσίευση από vassilism » 17 Δεκ 2007 15:57

1. Μπορεί να θέλω να κάνω μια εγγραφή στην βάση π.χ. όνομα προϊόντος και διάφορα άλλα στοιχεία, που για ένα συγκεκριμένο προϊόν να μην έχω κάποια φωτογραφία.
Έτσι όπως είναι αυτήν την στιγμή αν κάνεις μια εγγραφή και δεν επιλέξεις κάποια φωτογραφία, δεν σου αποθηκεύει καθόλου την εγγραφή.

2. Βρήκα ένα script που δείχνει πληροφορίες για την gd που έχεις στον server σου, και μου έβγαλε τα εξής:
GD Version: bundled (2.0.34 compatible)
FreeType Support: Enabled
FreeType Linkage: with freetype
T1Lib Support: Disabled
GIF Read Support: Enabled
GIF Create Support: Enabled
JPG Support: Enabled
PNG Support: Enabled
WBMP Support: Enabled
XPM Support: Enabled
XBM Support: Enabled
JIS-mapped Japanese Font Support: Disabled
TrueColor functions may be used.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Thumbnails

Δημοσίευση από fafos » 17 Δεκ 2007 17:07

1. Prepei na metatheseis auto (sto index.php):

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

$image = $prefix.'lrg'.$ext;
$thumb = $prefix.'sml'.$ext;	
		
		// add listing to database
		$link = mysql_connect($dbhost, $dbuser, $dbpass);
		$query = "INSERT INTO $dbimg VALUES('0',
		'$title',
		'$category',
		'$image',
		'$thumb'
		)";
		mysql_db_query($dbname, $query, $link);
		mysql_close($link);
akrivos prin apo to $info = '<br><br> alla me mia mikrh allagh:

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


  	if &#40;$tmp&#41;
  	&#123;

$image = $prefix.'lrg'.$ext;
$thumb = $prefix.'sml'.$ext;	
	&#125; else &#123;

$image = '';
$thumb = '';
&#125;	
		// add listing to database
		$link = mysql_connect&#40;$dbhost, $dbuser, $dbpass&#41;;
		$query = "INSERT INTO $dbimg VALUES&#40;'0',
		'$title',
		'$category',
		'$image',
		'$thumb'
		&#41;";
		mysql_db_query&#40;$dbname, $query, $link&#41;;
		mysql_close&#40;$link&#41;;
(mporeis na antikatasthseis ta kena sta image kai thumb me mia noimage eikona.. px. $image = 'noimage.jpg'; & $thumb = 'noimage_sml.jpg'; )

2. Deikse mou ena deigma "kakou" gif gia na paro mia idea..

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης