image resize (php script)

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

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

Απάντηση
Άβαταρ μέλους
ZaNaToS
Δημοσιεύσεις: 16
Εγγραφή: 25 Φεβ 2007 16:27

image resize (php script)

Δημοσίευση από ZaNaToS » 15 Οκτ 2009 22:01

Παιδιά καλησπέρα,

έχω φτιάξει λίγο κώδικα php για ένα μικρό site οπου προσθέτω κάποιες εικόνες (συλλογή με βινύλια (LP's) ), το "site" είναι καθαρά για προσωπική χρήση.

Με το query που έχω καταφέρει μέχρι τώρα κάνω upload τα εξώφυλλα που βρίσκω μέσο του google images.

Το πρόβλημα μου είναι ότι ψάχνω ένα script να ενσωματώσω ώσπου όταν κάνω upload ένα εξώφυλο που είναι πχ 1,5 mb να το κάνει resize και να αποθυκέυσει στον server μια μικρή έκδοση του px 200kb.

Ότι scripts έχω βρει μέχρι τώρα , σου φτιάχνουν μεν thumbnail με τις διαστάσεις που θέλεις αλλά πάνω στο server τα images παραμένουν με το αρχικό τους μέγεθος (οπότε και πιάνουν πολύ χώρο).

Εάν έχει κάποιος υπόψιν του κάτι θα το εκτιμούσα.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

image resize (php script)

Δημοσίευση από Apostolis_38 » 15 Οκτ 2009 22:59

Κι εγώ κάποτε ψαχνόμουν για το ίδιο πράγμα. Εφαγα όλο το internet αλλά δεν βρήκα τίποτα.
Ισως να είναι και λογικό αν σκεφτείς οτι για να κάνεις ένα καλό resize χρειάζονται ολόκληρα προγράμματα.
Και απο τα "βαριά" κιόλας.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

image resize (php script)

Δημοσίευση από korgr » 16 Οκτ 2009 01:13

Στα γρηγορα χωρις να το εχω τεσταρει...

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

function setSize($path, $filename, $imageWidth, $JPGquality){
$foto=$path.$filename; // σιγουρεψτε πως εχετε slashes στο path πχ "images/"
if(is_file($foto)){
$imagesize=GetImageSize($foto);
$originalwidth=$imagesize[0];
$originalheight=$imagesize[1];
if&#40;$originalwidth <= $imageWidth&#41;&#123; return false; &#125;
$percent=100*&#40;$imageWidth/$originalwidth&#41;;
$newheight=floor&#40;$originalheight*&#40;$percent/100&#41;&#41;;
$src_img = imagecreatefromjpeg&#40;$foto&#41;;
$dst_img = imagecreatetruecolor&#40;$imageWidth,$newheight&#41;;
imagecopyresampled&#40;$dst_img, $src_img, 0, 0, 0, 0, $imageWidth, $newheight, $originalwidth, $originalheight&#41;; 
imagejpeg&#40;$dst_img, $foto, $JPGquality&#41;;
imagedestroy&#40;$src_img&#41;;
imagedestroy&#40;$dst_img&#41;; 
return true;
&#125;else&#123;
return false;
&#125;
&#125;
Η ανωτέρω function αφορά μόνο jpg images και επιστρέφει true σε επιτυχές resizing ή false σε αποτυχία.
Παραμετροι:
$path = Το path (αν υπαρχει) με τα απαραιτητα slashes (πχ "images/")
$filename= Το filename του jpg του οποίου θέλουμε να αλλάξουμε διαστασεις (πχ "myImage.jpg")
$imageWidth= To επιθυμητό νέο πλάτος σε pixels (το ύψος θα προκύψει αναλογικά χωρίς παραμορφώσεις)
$JPGquality= Η ποιότητα του νέου jpg (τιμές 0 έως 100)

Παράδειγμα χρήσης:

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

setSize&#40;"../images/covers/", "myImage.jpg", 800, 50&#41;

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

image resize (php script)

Δημοσίευση από vassilism » 16 Οκτ 2009 03:19

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

setSize&#40;"../images/covers/", "myImage.jpg", 800, 50&#41;; 
Σου ξέφυγε ένα ερωτηματικό :lol:

Νότη αν γνωρίζεις μπορείς να μας εξηγήσεις γιατί δεν μπορεί να γίνει resize σε πολύ μεγάλες εικόνες?
Έχει να κάνει με τη συνάρτηση imagecreatefromjpeg() , με τη μνήμη ή και με δύο?
Έτσι εγκυκλοπαιδικά ρωτάω γιατί δεν το έχω ψάξει καθόλου.

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

image resize (php script)

Δημοσίευση από soteres2002 » 16 Οκτ 2009 03:27

vassilism έγραψε: Έχει να κάνει με τη συνάρτηση imagecreatefromjpeg() , με τη μνήμη ή και με δύο?
πιθανόν δεν έχει να κάνει με τη συνάρτηση της ΡΗΡ αυτή καθαυτή αλλά από την αντίστοιχη κλήση απο την GD.

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

image resize (php script)

Δημοσίευση από fafos » 16 Οκτ 2009 04:04

vassilism έγραψε:

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

setSize&#40;"../images/covers/", "myImage.jpg", 800, 50&#41;; 
Σου ξέφυγε ένα ερωτηματικό :lol:

Νότη αν γνωρίζεις μπορείς να μας εξηγήσεις γιατί δεν μπορεί να γίνει resize σε πολύ μεγάλες εικόνες?
Έχει να κάνει με τη συνάρτηση imagecreatefromjpeg() , με τη μνήμη ή και με δύο?
Έτσι εγκυκλοπαιδικά ρωτάω γιατί δεν το έχω ψάξει καθόλου.
einai kai ti periexei mia photo.. emena mia gymnh gkomena 9000X6000 px thn efeiakse amesos.. mia allh me ena topio akoma thn trexei :lol:


an sou petaei lathos, einai provlhma settings sto php.ini... genikos ego tou dino terma ta gkazia kai den exei kolosei oute se photo 100mb...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

image resize (php script)

Δημοσίευση από Apostolis_38 » 16 Οκτ 2009 09:31

:o :o :o :o
Δεν μπορούσες να το ποστάρεις πρίν 2 χρόνια αυτό το σκριπτάκι;

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

image resize (php script)

Δημοσίευση από korgr » 16 Οκτ 2009 11:49

fafos έγραψε:emena mia gymnh gkomena 9000X6000 px thn efeiakse amesos..
Αρα, στα ...ρουχα κολαει :lol:
Να πω την αληθεια δεν εχω ασχοληθει με τοσο μεγαλες διαστασεις...

Αποστολη ποτε δεν ειναι αργα :)

Βασιλη στο freestuff δεν αποτελει parse error το να ξεχασεις και κατι. Αμεσως ακολουθει ο επομενος και το συμπληρωνει :lol:

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

image resize (php script)

Δημοσίευση από vassilism » 16 Οκτ 2009 16:23

Apostolis_38 έγραψε::o :o :o :o
Δεν μπορούσες να το ποστάρεις πρίν 2 χρόνια αυτό το σκριπτάκι;
Αποστόλη εσύ που ήσουν πριν δυο χρόνια?
Ο Δάσκαλός fafos μας το είχε κάνει αυτό το μάθημα εδώ:
http://www.freestuff.gr/forums/viewtopi ... 959#316959
fafos έγραψε:an sou petaei lathos, einai provlhma settings sto php.ini... genikos ego tou dino terma ta gkazia kai den exei kolosei oute se photo 100mb...
Το είχα ψυλλιαστεί αυτό.
fafos έγραψε:einai kai ti periexei mia photo.. emena mia gymnh gkomena 9000X6000 px thn efeiakse amesos.. mia allh me ena topio akoma thn trexei :lol:
Δοκίμασα να κάνω resize σε δύο φωτογραφίες με διαστάσεις 2000X1500.
Η μια φωτογραφία είχε την Πετρούλα και η άλλη την Αφρούλα.
Ε λοιπόν η συνάρτηση του Νότη μου έκανε resize μόνο στην Πετρούλα :o

P.S: Πλάκα κάνω :lol:

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

image resize (php script)

Δημοσίευση από Apostolis_38 » 16 Οκτ 2009 17:04

vassilism έγραψε:Αποστόλη εσύ που ήσουν πριν δυο χρόνια?
Ο Δάσκαλός fafos μας το είχε κάνει αυτό το μάθημα εδώ:
http://www.freestuff.gr/forums/viewtopi ... 959#316959
Δεν είχα έρθει.
Είχε αρρωστήσει ο παπούς μου :(

Απάντηση

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

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

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