web-dev-qa-db-fra.com

Meilleur PHP Classe de culture de l'image

Je conçois un site web et je dois:

  • Télécharger l'image
  • Validez que c'est une image (et non, oh je ne sais pas .... un virus :))
  • Redimensionner l'image
  • convertir en jpg

Essentiellement le téléchargement d'images de base

Au lieu d’écrire moi-même, j’essaie de trouver un php class qui me permette de faire tout cela, car, comme l’a dit Jeff Atwood, "ne concevez jamais ce que vous pouvez voler"

Maintenant, avant d’aller de l’avant, je n’ai pas fait mes recherches, j’ai fait:

Googler cela apporte une énorme quantité de résultats, qui est le problème, je ne sais pas quels résultats sont utiles et lesquels sont des ordures!

Jusqu'à présent, j'ai trouvé:

Quelqu'un at-il une expérience avec ces cours? Pouvez-vous recommander une classe de téléchargement d'image exceptionnelle?

21
Tomas

J'ai tendance à utiliser un cadre d'une description ou d'une autre, qui couvre la partie téléchargement de fichier. Cependant, faites une recommandation pour le recadrage:

Imagine - https://github.com/avalanche123/Imagine

Et si vous voulez que le téléchargeur soit un peu meilleur qu'un simple type d'entrée = fichier, essayez:

https://github.com/valums/file-uploader

13
benlumley

Ma bibliothèque de manipulation d'images préférée est WideImage . Il est ridiculement facile de faire ce genre de tâche.

WideImage::load('pic.png')
->crop('center', 'center', 90, 50)->saveToFile('cropped/pic.jpg');

Pour valider s’il s’agit d’une image ou non, utilisez finfo ou PEAR::Mime_type . Personnellement, je préfère PEAR::Mime_Type . Il utilise finfo mais son utilisation est plus simple.

Utilisation de finfo:

$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $filename);

$isImage = (preg_match('#^image/#', $mimetype) === 1);

Utilisation de PEAR::Mime_Type:

$mimetype = MIME_Type::autoDetect($filename);

$isImage = MIME_Type::wildcardMatch('image/*', $mimetype);
17
Andrew Moore

Découvrez le plugin JCROP

_ {Cela sera utile pour tous} _

JCROP Image cropping----deepliquid.com/content/Jcrop.html

enter image description here

5
Nikz

Le téléchargement de classe depuis Colin Verot http://www.verot.net/php_class_upload.htm est mon préféré. Je l'utilise dans tous mes projets. Aimez votre façon de parler avec la classe et d’utiliser uniquement ce dont vous avez besoin, mais vous donne beaucoup de configuration/méthodes pour l’ajuster à vos besoins. Grande classe!

4
Hans Kerkhof

il y a aussi cette bibliothèque légère de manipulation d’images écrite en PHP appelée Zebra_Image qui est très petite, pas encombrée de zillions de fonctions que vous n’utiliserez jamais, hautement optimisée, avec un une excellente documentation et qui est activement maintenue.

4
Stefan Gabos

Je recommande d'utiliser Smart Image Resizer http://shiftingpixel.com/2008/03/03/smart-image-resizer/

Vous obtenez la meilleure qualité d'image après redimensionnement

C'est extrêmement simple à utiliser. Il utilise le cache d'image.

2
adam pery

Je recommande SimpleImage , il est très simple, ne contient qu'un fichier et est mis à jour.

Exemple d'utilisation:

$img = new SimpleImage('image.jpg');

// Resize the image to 320x200
$img->resize(320, 200);

$img->save('new-image.jpg');
2
Marcio Mazzucato

Si vous souhaitez migrer vers un framework MVC PHP, je vous recommande vivement Codeigniter

En plus de plusieurs autres classes et bibliothèques qui gèrent la pagination, les tables, la sécurité, les formulaires, etc., CI possède également des classes de téléchargement et de manipulation d’images très pratiques et flexibles. Je crois qu’ils peuvent faire tout ce dont vous avez besoin (mais vous n’êtes pas sûr de la conversion jpg).

Vous pouvez les vérifier à:

Classe de manipulation d'images

Classe de téléchargement de fichier

1
pepe

J'utilise cette image, ça marche bien

Simple PHP Recadrage de l'image

0
YasirPoongadan