Retour d'info avec identify via exec [PHP] - PHP - Programmation
Marsh Posté le 26-04-2010 à 08:32:54
En allant lire le contenu de $output?
Marsh Posté le 26-04-2010 à 09:29:35
Merci de l'idée mais non et j'aurai dû le dire.
Le contenu de $output est :
/xxxxxxx/10841.jpg JPEG 3872x2592 3872x2592+0+0 DirectClass 8-bit 512kb
Apparemment rien qui ne m'indique un problème sur le fichier.
Marsh Posté le 26-04-2010 à 09:44:58
regarde les options d'identify. Il y a probablement un switch de la ligne de commande pour qu'il t'affiche ces erreurs (ce qui les mettra dans $output) au lieu de seulement les logger.
Marsh Posté le 26-04-2010 à 10:09:35
ReplyMarsh Posté le 26-04-2010 à 10:13:13
stealth35 a écrit : fais shell_exec a la place |
ça va pas changer grand-chose, si tout ce qui l'intéresse c'est d'obtenir ce qu'il y a dans le log...
Marsh Posté le 26-04-2010 à 10:17:33
skeye a écrit : |
c'est bien toi qui lui a dis d'aller voir dans $output, l'affichage sera plus simple avec shell_exec qu'avec exec
Marsh Posté le 26-04-2010 à 10:19:14
A tous les coups, son exécutable retourne 0 car il n'a eu aucun souci d'exécution : le fait que l'image soit corrompue ne le regarde pas.
Donc faut scanner la log, via un grep ou truc du genre.
Marsh Posté le 26-04-2010 à 10:45:02
stealth35 a écrit : c'est bien toi qui lui a dis d'aller voir dans $output, l'affichage sera plus simple avec shell_exec qu'avec exec |
Non mais relis tout le thread, pitié.
Marsh Posté le 26-04-2010 à 10:45:44
Fred999 a écrit : A tous les coups, son exécutable retourne 0 car il n'a eu aucun souci d'exécution : le fait que l'image soit corrompue ne le regarde pas. |
sauf si l'outil qu'il appelle est capable d'afficher les erreurs avec un switch quelconque...
Marsh Posté le 26-04-2010 à 10:47:53
J'ai pas dit le contraire
Ce serait effectivement + simple.
Marsh Posté le 26-04-2010 à 10:59:06
skeye a écrit : |
Citation : regarde les options d'identify. Il y a probablement un switch de la ligne de commande pour qu'il t'affiche ces erreurs (ce qui les mettra dans $output) au lieu de seulement les logger. |
Marsh Posté le 26-04-2010 à 11:05:53
stealth35 a écrit :
|
oui, et?
Utiliser shell_exec ne change absolument rien au problème.
Marsh Posté le 26-04-2010 à 11:08:06
Citation : oui, et? |
est ce que j'ai dis le contraire
Marsh Posté le 26-04-2010 à 11:08:55
stealth35 a écrit :
|
...alors pourquoi tu lui dis d'utiliser shell_exec?
Marsh Posté le 26-04-2010 à 11:15:23
skeye a écrit : |
parce que c'est plus simple pour afficher l'output, exec retourne que la dernière ligne, pour tout afficher faut parser l'array $ouput
donc c'est plus simple et moins traitre de faire un
Code :
|
Marsh Posté le 26-04-2010 à 11:19:08
stealth35 a écrit :
|
Il n'a jamais dit qu'il voulait afficher le résultat.
Et exec ne retourne pas la dernière ligne de la commande, mais son code de retour.
Bref, ta réponse était hors sujet, c'est tout.
Marsh Posté le 26-04-2010 à 11:29:16
skeye a écrit : |
non non exec retourne la dernière ligne lis un peu la doc stp
http://www.php.net/manual/fr/function.exec.php
Spoiler : Valeurs de retour |
et comme tu le dis si bien
skeye a écrit : |
skeye a écrit : regarde les options d'identify. Il y a probablement un switch de la ligne de commande pour qu'il t'affiche ces erreurs (ce qui les mettra dans $output) au lieu de seulement les logger. |
c'est pas moi que dis d'aller voir la valeur de $output mais bien toi
Marsh Posté le 26-04-2010 à 11:30:28
|
Marsh Posté le 26-04-2010 à 11:34:00
stealth35 a écrit :
|
Citation : |
Quiconque lit la doc sait que le retour de la fonctione xec() ne sert à rien et qu'il faut utiliser les paramètres...
stealth35 a écrit : c'est pas moi que dis d'aller voir la valeur de $output mais bien toi |
...et? Il veut pouvoir traiter le résultat de sa commande, putain de bordel de merde!
Marsh Posté le 26-04-2010 à 11:38:15
skeye a écrit : Quiconque lit la doc sait que le retour de la fonctione xec() ne sert à rien et qu'il faut utiliser les paramètres... |
lol énorme, on dirais une réplique de politique
Marsh Posté le 26-04-2010 à 11:40:24
stealth35 a écrit : |
...et sinon t'as une réponse qui soit pas complètement à-coté de la plaque à fournir, ou tu continues à faire le boulet juste pour le plaisir?
Marsh Posté le 26-04-2010 à 11:56:40
skeye a écrit : |
roooo sois pas vexé
Marsh Posté le 26-04-2010 à 13:59:08
S'il vous plait, ne vous engueulez pas à cause d'une de mes questions.
Merci pour toutes les réponses.
black_lord, j'ai bien sûr fait le MAN mais je ne vois pas l'option qui me retourne ce que je veux. Si je comprends bien ton message ça doit y être et je vais être super énervé de ne pas l'avoir vu, mais là je ne vois pas. Si tu peux préciser, merci.
Marsh Posté le 26-04-2010 à 14:07:53
fais shell_exec a la place
Marsh Posté le 25-04-2010 à 19:29:09
bonjour,
dans un traitement j'appelle identify de Imagemagick pour vérifier si un fichier jpeg est bon.
exec("$identifyBin \"$file\"", $output, $return_var);
Je pensais retrouver les erreurs dans $return_var mais la valeur est toujours à zéro alors que j'ai ça dans mes fichiers log :
identify: Premature end of JPEG file `xxxxxxxxx/10841.jpg'.
identify: Corrupt JPEG data: premature end of data segment `xxxxxxxxxxxxxxxxxxx/10841.jpg'.
Premature end of JPEG file
comment puis-je récupérer cette information et en faire un critère de traitement ?
Merci pour votre aide.
Message édité par gordon13 le 25-04-2010 à 19:32:31