Imagemagick exec et convertir
J'ai récemment commencé à utiliser imagemagick avec php et
Je suis relativement nouveau avec ces deux, de la GI et de PHP.
Donc, je suis ici pour demander de l'aide/suggestion(s).
Première
Permet de dire si un utilisateur télécharge un fichier gif ou une image png sur
mon site et je veux les convertir en jpg, est-il
commande comme par exemple.$image->convert($file,'.jpg)
ou la commande convert est accessible uniquement thru exec()
?
comme par exemple exec(convert picture.png
à picture.jpg)
Deuxième
Que si, pour encore une fois, l'utilisateur télécharge gif/png sur le site
et je redimensionner l'image à une largeur/hauteur et
écrire l'image, avec la writeImage fonction de la GI comme ceci:
$image->writeImage(basename.$ext)
où $ext
= jpg.
Ce travail correctement,est-ce une bonne pratique? Je suppose que ce sera
seulement le renommer, mais encore, je ne vois pas le problème dans ce... o.O
Oh désolé, encore une question, je ne suis pas très familier avec exec,
est-il préférable d'utiliser imagemagick à l'aide de exec()
, améliore-t-elle
la vitesse, la charge, etc?
exec()
est un exploitable de la fonction PHP par conséquent, vous trouverez qu'il est désactivé sur la plupart des serveurs.Je ne l'ai pas vu désactivé sur "la plupart des serveurs". Comme avec tout ce que vous devez être prudent au sujet de la saisie de l'utilisateur.
OriginalL'auteur inrob | 2012-05-12
Vous devez vous connecter pour publier un commentaire.
Je ne peux pas répondre à vos questions directement, mais pensé que je vous indique quelques ressources:
Qui concerne qui est mieux, exec ou l'extension PHP, j'ai posé cette même question il y a quelques mois:
Dois-je utiliser une extension PHP pour ImageMagick ou simplement l'utiliser PHP Exec() de la fonction à exécuter les commandes du terminal?
Pour tous feut fonctions de PHP, vous devriez consulter le guide officiel:
http://www.php.net/manual/en/book.imagick.php
Je suis passé à partir de l'Image Magick les Graphismes, la Magie que j'ai entendu dire qu'il a de meilleures performances. C'est un fork de l'Image Magick avec un accent sur les performances. Les grands sites comme Flickr et Etsy utiliser:
http://www.graphicsmagick.org/
Ce guide qui m'a:
http://devzone.zend.com/1559/manipulating-images-with-php-and-graphicsmagick/
Et ils ont leur propre manuel sur php.net:
http://php.net/manual/en/book.gmagick.php (la plupart des commandes sont identiques à l'Image Magick)
OriginalL'auteur TK123
Je préfère utiliser exec (), car il est pris en charge beaucoup mieux que Imagick ( l'exemple de code que vous avez posté ), plus facile à utiliser et prend en charge tous les opérateurs ( selon votre version ), qui de nouveau Imagick ne le fait pas.
Certains des Imagick code fonctionne differntly dans les différentes versions; il y a beaucoup plus de Imagick exemples autour de, il y en a un ou deux ans, lorsque j'ai commencé à la regarder.
Dire que Imagick peut être plus rapide et est/peut-être? construit en php, bien que certaines personnes ont de la difficulté à l'installer.
Je pense que ce site http://valokuva.org/?cat=1 appartient à une Imagick développeur et qui a beaucoup d'exemples.
Mon site http://www.rubblewebs.co.uk/imagemagick a beaucoup d'exemples de php avec exec( )
À vos deux autres questions, oui, vous pouvez modifier le type de fichier avec Imagick et je ne suis pas sûr que basename.$ext - pourquoi ne pas l'essayer? Aussi longtemps que basename ne dispose pas d'une extension, il peut fonctionner, mais vous pourriez avoir besoin d'inclure basename.$poste dans le devis.
De vitesse, il dpends parfois GD est plus rapide, d'autres fois Imagick ou Imagemagick. Vous pouvez toujours faire quelques tests. J'ai fait un peu il y a un an et vous pouvez essayer le code sur votre serveur. http://www.rubblewebs.co.uk/imagemagick/speed/Speed_tests_1.pdf
Je ne pensais pas bornie et vous la méthode doit fonctionner.
OriginalL'auteur Bonzo