Title: PHP και images Post by: TED on March 13, 2008, 13:42:39 pm Σύμφωνα με τη σελίδα www.php.net στις καινούριες εκδόσεις php υπάρχουν συναρτήσεις που διαχειρίζονται εικόνες. Ωστόσο, προσπαθώ να κάνω resize μία εικόνα jpg και δεν τα καταφέρνω. Συγκεκριμένα:
όταν προσθέτω την εντολή header('Content-type: image/jpeg'); εμφανίζει το url της σελίδας και τίποτα άλλο. Ο apache μου είναι ο wamp2.0 που υποστηρίζει gd. Τί μπορεί να φταίει; Title: Re: PHP και images Post by: Verminoz on March 13, 2008, 13:48:16 pm Γιατί βάζεις εντολή header? :P
Title: Re: PHP και images Post by: TED on March 13, 2008, 13:54:44 pm για να καταλάβει ο apache οτι μιλάω για εικόνα. αλλιώς εμφανίζει αποτελέσματα της μορφής
vΰt9_›§N�δ�|σ��έΛΆYΕ,¶Θ·Ξ¬a/�v7�Πρ“�½��赬ήi΅• πώς αλλιώς μπορώ να το κάνω; Title: Re: PHP και images Post by: Verminoz on March 13, 2008, 14:15:21 pm Για να είμαι ειλικρινής δεν έχω κάνει ποτέ τίποτα με εικόνες σε PHP. Πάντως η PHP έχει μια τεράστια βιβλιοθήκη, την imagick για εικόνες με μια πληθώρα συναρτήσεων. Τσέκαρε:
http://www.php.net/quickref.php όλες οι συναρτήσεις ονομάζονται "imagick_*" όπου * το όνομα της συνάρτησης. Ίσως βρεις εκεί την λύση... Τι ακριβώς θέλεις να κάνεις? Η εικόνα από που προέρχεται? Title: Re: PHP και images Post by: Verminoz on March 13, 2008, 14:19:14 pm Αυτή φορτώνει μια εικόνα από αρχείο ή από URL:
http://www.php.net/manual/en/function.imagecreatefromjpeg.php Αυτή σώζει σε αρχείο: http://www.php.net/manual/en/function.imagejpeg.php Ψάξε και τις συναρτήσεις που χρειάζεσαι για την επεξεργασία που θες να κάνεις... Title: Re: PHP και images Post by: TED on March 13, 2008, 14:35:54 pm ουσιαστικά θέλω σε μία foto gallery να εμφανίζω τις εικόνες σε μικρό μέγεθος, και οταν πατάει κάποιος πάνω να φορτώνει ολόκληρη η εικόνα. Αυτό γίνεται βέβαια άν ορίσεις width και height στην html αλλά φορτώνει ολόκληρη την εικόνα και ίσως αργεί ο χρήστης...
Θα μπορούσα να φορτώνω σε έναν φάκελο τις εικόνες σε μικρό μέγεθος, αλλά δεν είναι πιό ωραίο να τις φτιάχνει η php? :D Title: Re: PHP και images Post by: Verminoz on March 13, 2008, 18:23:04 pm Θέλεις thumbnails δηλαδή. Συμφωνώ ότι είναι πιο ωραίο να τις φτιάχνει η PHP :D Αν πρόκειται για δυναμική εφαρμογή, δηλαδή οι φωτογραφίες στις οποίες θα σμικρυνθούν αλλάζουν συχνά τότε συμφέρει να το κάνεις έτσι. Αλλιώς είναι μάλλον πιο αποδοτικό να φτιάξεις μόνος σου τα thumbnails και να φορτώνει εκείνα κατευθείαν.
Δοκίμασες καθόλου? Title: Re: PHP και images Post by: Axel on March 13, 2008, 19:43:28 pm Μπορεις παντως να ψαξεις για το πως θα κανεις κληση του προγραμματος imagemagic (υπαρχει και σε windows και σε linux) ωστε να κανει αυτο τη μετατροπη των εικονων με τις παραμετρους που θα του δωσεις. Η wikipedia και το λογισμικο mediawiki αυτο χρησιμοποιουν η τουλαχιστον αυτο χρησιμοποιουσαν πριν απο κανα χρονο που επαιζα με το mediawiki.
Title: Re: PHP και images Post by: TED on March 13, 2008, 21:30:22 pm Δοκίμασα να φτιάξω τα thumbnails μόνος μου, και δούλεψε αρκετά καλά, αλλά θέλω να έχω δυναμικό upload εικόνων, οπότε χρειάζομαι να δουλεύω με php τις εικόνες...
Θέλεις thumbnails δηλαδή. Συμφωνώ ότι είναι πιο ωραίο να τις φτιάχνει η PHP :D Αν πρόκειται για δυναμική εφαρμογή, δηλαδή οι φωτογραφίες στις οποίες θα σμικρυνθούν αλλάζουν συχνά τότε συμφέρει να το κάνεις έτσι. Αλλιώς είναι μάλλον πιο αποδοτικό να φτιάξεις μόνος σου τα thumbnails και να φορτώνει εκείνα κατευθείαν. Δοκίμασες καθόλου? Title: Re: PHP και images Post by: Petrakeas on March 13, 2008, 21:50:40 pm @TED το έχω κάνει αυτό που ζητάς. Χρησιμοποίησα την phpthumb() που είναι και ο πιο συνηθισμένος τρόπος για τέτοιες περιπτώσεις. Με την phpthumb μπορείς να κάνεις resize με 2 τρόπους. Η κάποιο url να την καλεί ή να την καλείς μέσα στον php κώδικα από τη βιβλιοθήκη της. Σου προτείνω το δεύτερο. Κατέβασέ την από δώ:
http://phpthumb.sourceforge.net/ Σου δίνω και τον κώδικα που χρησιμοποίησα εγώ: Code: <? $thumbnail_width=800; Title: Re: PHP και images Post by: TED on March 14, 2008, 04:13:56 am Εεεε... και πώς την περνάς πάνω στον apache?
@TED το έχω κάνει αυτό που ζητάς. Χρησιμοποίησα την phpthumb() που είναι και ο πιο συνηθισμένος τρόπος για τέτοιες περιπτώσεις. Με την phpthumb μπορείς να κάνεις resize με 2 τρόπους. Η κάποιο url να την καλεί ή να την καλείς μέσα στον php κώδικα από τη βιβλιοθήκη της. Σου προτείνω το δεύτερο. Κατέβασέ την από δώ: http://phpthumb.sourceforge.net/ Σου δίνω και τον κώδικα που χρησιμοποίησα εγώ: Code: <? $thumbnail_width=800; Title: Re: PHP και images Post by: Petrakeas on March 14, 2008, 14:55:44 pm @ΤED αρκεί να κάνεις copy τον φάκελο phpThumb. Το κατεβάζεις από εδώ: http://sourceforge.net/project/showfiles.php?group_id=106407&package_id=114543
Και μετά όπως φαίνεται στον κώδικα με την εντολή "require_once('phpThumb/phpthumb.class.php');" βάζεις τη σωστή διαδρομή και είσαι OK. Δε θέλει να κάνεις κάτι στον apache, αρκεί να έχεις τη gd, που απ' ό,τι είδα την έχεις εγκατεστημένη. Επίσης στον κώδικά μου έχω βάλει να κάνει resize σύμφωνα με το width, αλλά έχει πολλούς τρόπους να περιγράψεις το resize είτε με ποσοστό κλπ κ επίσης μπορείς να ρυθμίσεις την ποιότητα της jpeg συμπίεσης στο τέλος. Στο παραπάνω zip έχει demos. |