Bonjour,
j'ai un problème compliqué.
Depuis PHP, je fais appel à un programme quelconque :
Et je dois tester la sortie ($output) pour déterminer si le programme a fait son micmac avec succes ou non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $output = shell_exec("C:\\progra~1\\fme\\fme.exe");
Quand je lance la commande a la mano dans le DOS, voici ce que j'ai :
Je dois donc faire mon test sur le $output de sorte que "puisque la sortie comprend le mot FAILED alors le calcul a échoué et je fais un print 'échec de l'opération blablabla'". Mais le output de PHP ne me renvoie pas les 3 dernières lignes. Il me renvoie seulement :Feature Manipulation Engine 2006 GB (O) (20060421 - Build 2621)
Edition (node locked-crc)
Warning: The software you are using is for demo purposes only.
This is not freeware and cannot be used to process any data for any purposes oth
er than evaluation and demonstration.
To purchase, contact sales@safe.com or call 604-501-9985
Evaluation License: 15 days left.
Machine host name is: VS2k
Copyright (c) 1994 - 2006
Safe Software Inc.
File valeur could not be opened
Program Terminating
Translation FAILED.
Je ne peux donc pas tester si le mic-mac a réussi ou pas.Feature Manipulation Engine 2006 GB (O) (20060421 - Build 2621)
Edition (node locked-crc)
Warning: The software you are using is for demo purposes only.
This is not freeware and cannot be used to process any data for any purposes oth
er than evaluation and demonstration.
To purchase, contact sales@safe.com or call 604-501-9985
Evaluation License: 15 days left.
Machine host name is: VS2k
Copyright (c) 1994 - 2006
Safe Software Inc.
De même, si je fais :
ou bien si j'exececute a la mano la commande, le fichier de sortie (dans d:\test.txt) ne comprend pas les dernières lignes : les veritables lignes de retour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $output = shell_exec("C:\\progra~1\\fme\\fme.exe > d:\test.txt");
Est-ce que vous auriez une idée de la solution ? Y aurait-il plusieurs retour (plusieurs stream) ? (on me dit qu'un cas similaire a été traité par un getErrorStream() en Java).
Partager