Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2289 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Retour d'info avec identify via exec

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Retour d'info avec identify via exec

n°1987422
gordon13
Posté le 25-04-2010 à 19:29:09  profilanswer
 

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
mood
Publicité
Posté le 25-04-2010 à 19:29:09  profilanswer
 

n°1987482
skeye
Posté le 26-04-2010 à 08:32:54  profilanswer
 

En allant lire le contenu de $output?


---------------
Can't buy what I want because it's free -
n°1987493
gordon13
Posté le 26-04-2010 à 09:29:35  profilanswer
 

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.

n°1987499
skeye
Posté le 26-04-2010 à 09:44:58  profilanswer
 

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.


Message édité par skeye le 26-04-2010 à 09:45:16

---------------
Can't buy what I want because it's free -
n°1987519
stealth35
Posté le 26-04-2010 à 10:09:35  profilanswer
 

fais shell_exec a la place

Message cité 1 fois
Message édité par stealth35 le 26-04-2010 à 10:09:42
n°1987520
skeye
Posté le 26-04-2010 à 10:13:13  profilanswer
 

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...


---------------
Can't buy what I want because it's free -
n°1987523
stealth35
Posté le 26-04-2010 à 10:17:33  profilanswer
 

skeye a écrit :


ç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...


 
c'est bien toi qui lui a dis d'aller voir dans $output, l'affichage sera plus simple avec shell_exec qu'avec exec

n°1987527
Fred999
Rabat-joie
Posté le 26-04-2010 à 10:19:14  profilanswer
 

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.

n°1987534
skeye
Posté le 26-04-2010 à 10:45:02  profilanswer
 

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é.[:sadnoir]

Message cité 1 fois
Message édité par skeye le 26-04-2010 à 10:45:06

---------------
Can't buy what I want because it's free -
n°1987535
skeye
Posté le 26-04-2010 à 10:45:44  profilanswer
 

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.
 
Donc faut scanner la log, via un grep ou truc du genre.


 
sauf si l'outil qu'il appelle est capable d'afficher les erreurs avec un switch quelconque...[:jagstang]


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 26-04-2010 à 10:45:44  profilanswer
 

n°1987538
Fred999
Rabat-joie
Posté le 26-04-2010 à 10:47:53  profilanswer
 

J'ai pas dit le contraire [:cosmoschtroumpf]
 
Ce serait effectivement + simple.

n°1987545
stealth35
Posté le 26-04-2010 à 10:59:06  profilanswer
 

skeye a écrit :


Non mais relis tout le thread, pitié.[:sadnoir]


 

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.


n°1987551
skeye
Posté le 26-04-2010 à 11:05:53  profilanswer
 

stealth35 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.



 

oui, et? [:autobot]
Utiliser shell_exec ne change absolument rien au problème.


Message édité par skeye le 26-04-2010 à 11:06:03

---------------
Can't buy what I want because it's free -
n°1987552
stealth35
Posté le 26-04-2010 à 11:08:06  profilanswer
 

Citation :

oui, et? [:autobot]
Utiliser shell_exec ne change absolument rien au problème.


 
est ce que j'ai dis le contraire  :pt1cable:

Message cité 1 fois
Message édité par stealth35 le 26-04-2010 à 11:08:20
n°1987554
skeye
Posté le 26-04-2010 à 11:08:55  profilanswer
 

stealth35 a écrit :

Citation :

oui, et? [:autobot]
Utiliser shell_exec ne change absolument rien au problème.


 
est ce que j'ai dis le contraire  :pt1cable:


...alors pourquoi tu lui dis d'utiliser shell_exec?[:mlc]


---------------
Can't buy what I want because it's free -
n°1987560
stealth35
Posté le 26-04-2010 à 11:15:23  profilanswer
 

skeye a écrit :


...alors pourquoi tu lui dis d'utiliser shell_exec?[:mlc]


 
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 :
  1. echo shell_exec('ma command')
  2. //voir
  3. echo `ma command`;

Message cité 1 fois
Message édité par stealth35 le 26-04-2010 à 11:15:59
n°1987561
skeye
Posté le 26-04-2010 à 11:19:08  profilanswer
 

stealth35 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 :
  1. echo shell_exec('ma command')
  2. //voir
  3. echo `ma command`;



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.[:skeye]


---------------
Can't buy what I want because it's free -
n°1987567
stealth35
Posté le 26-04-2010 à 11:29:16  profilanswer
 

skeye 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.[:skeye]


 
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
 
La dernière ligne du résultat de la commande.


 
et comme tu le dis si bien  

skeye a écrit :


Il n'a jamais dit qu'il voulait afficher le résultat.


 
 

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  :pt1cable:

n°1987568
black_lord
Truth speaks from peacefulness
Posté le 26-04-2010 à 11:30:28  profilanswer
 


SYNOPSIS
       identify [options] input-file
 
OVERVIEW
       The identify program is a member of the ImageMagick(1) suite of  tools.
       It describes the format and characteristics of one or more image files.
       It also reports if an image is incomplete or corrupt.  The  information
       returned includes the image number, the file name, the width and height
       of the image, whether the image is colormapped or not,  the  number  of
       colors  in  the  image (by default off use -define unique=true option),
       the number of bytes in the image, the format of the image  (JPEG,  PNM,
       etc.),  and  finally  the number of seconds it took to read and process
       the image. Many more attributes are available with the verbose option.
 
       For more information about the identify command, point your browser  to
       file:///usr/share/doc/imagemagick/www/identify.html                  or
       http://www.imagemagick.org/script/identify.php.
 
DESCRIPTION
       Image Settings:
         -antialias           remove pixel-aliasing
         -authenticate value  decrypt image with this password
         -channel type        apply option to select image channels
         -crop geometry       cut out a rectangular region of the image
         -define format:option
                              define one or more image format options
         -define unique=true  return the number of unique colors in the image
         -density geometry    horizontal and vertical density of the image
         -depth value         image depth
         -extract geometry    extract area from image
         -format "string"     output formatted image characteristics
         -fuzz distance       colors within this distance are considered equal
         -interlace type      type of image interlacing scheme
         -interpolate method  pixel color interpolation method
         -limit type value    pixel cache resource limit
         -list type           Color, Configure, Delegate, Format, Magic,  Mod‐
       ule,
                              Resource, or Type
         -matte               store matte channel if the image has one
         -monitor             monitor progress
         -ping                efficiently determine image attributes
         -quiet               suppress all warning messages
         -regard-warnings     pay attention to warning messages
         -sampling-factor geometry
                              horizontal and vertical sampling factor
         -seed value          seed a new sequence of pseudo-random numbers
         -set attribute value set an image attribute
         -size geometry       width and height of image
         -strip               strip image of all profiles and comments
         -units type          the units of image resolution
         -verbose             print detailed information about the image
         -virtual-pixel method
                              virtual pixel access method
 
       Miscellaneous Options:
         -debug events        display copious debugging information
         -help                print program options
         -log format          format of debugging information
         -list type           print a list of supported option arguments
         -version             print version information
 
       By  default, the image format of `file' is determined by its magic num‐
       ber.  To specify a particular image format, precede the  filename  with
       an  image  format name and a colon (i.e. ps:image) or specify the image
       type as the filename suffix (i.e. image.ps).  Specify 'file' as '-' for
       standard input or output.


 
[:kiki]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°1987570
skeye
Posté le 26-04-2010 à 11:34:00  profilanswer
 

stealth35 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
 
La dernière ligne du résultat de la commande.




 
 

Citation :


return_var
Si l'argument return_var est présent en plus du tableau output, alors le statut de retour d'exécution sera inscrit dans cette variable.


 
[:dawak]
Quiconque lit la doc sait que le retour de la fonctione xec() ne sert à rien et qu'il faut utiliser les paramètres...[:el g]
 
 

stealth35 a écrit :

c'est pas moi que dis d'aller voir la valeur de $output mais bien toi  :pt1cable:


 
...et? Il veut pouvoir traiter le résultat de sa commande, putain de bordel de merde![:moule_bite]


---------------
Can't buy what I want because it's free -
n°1987574
stealth35
Posté le 26-04-2010 à 11:38:15  profilanswer
 

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...[:el g]


 
lol énorme, on dirais une réplique de politique  :p

n°1987575
skeye
Posté le 26-04-2010 à 11:40:24  profilanswer
 

stealth35 a écrit :


 
lol énorme, on dirais une réplique de politique  :p


...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?[:petrus dei]


---------------
Can't buy what I want because it's free -
n°1987584
stealth35
Posté le 26-04-2010 à 11:56:40  profilanswer
 

skeye 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?[:petrus dei]


 
roooo sois pas vexé   :hello:

n°1987636
gordon13
Posté le 26-04-2010 à 13:59:08  profilanswer
 

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.

n°1987641
stiffler
Lâche mon profil putain ! :o
Posté le 26-04-2010 à 14:07:53  profilanswer
 

fais shell_exec a la place


---------------
I'm failing as fast as I can !! -- Vision-360, vos photos en grand format -- !! -- Les nouilles c'est bon
n°1987650
gordon13
Posté le 26-04-2010 à 14:35:13  profilanswer
 

Oui je suis parti sur cette solution. merci.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Retour d'info avec identify via exec

 

Sujets relatifs
Utiliser cURL PHP en ligne de commande WindowsCreation Classement PHP par mois
[PHP/MYSQL] formulaire et modification à distance de fichier[résolu] Nom de variable dans la variable de $_session
#'!*%@!?#!!** de saloperie de *!!#¡@* de PHP de m*@#*!Communiquer avec PHP
Passage du HTML au PHP : perte du référencementForcage Retour chariot en CSS3 possible grace à attr ?
[LDAP] Changer mot de passe Active Directory via PHP[PHP / SQL] Conception Menu Dynamique a sous Categories Variables
Plus de sujets relatifs à : [PHP] Retour d'info avec identify via exec


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR