2017-07-19 3 views
1

Je suis nouveau sur php. Dans mon fichier php, j'ai cette commande:Shell_exec avec chemin, option de commande et variable

shell_exec("\"C:\path_with_spaces_to_.exe\" -c -n 1 C:\path_to_image\$image_name 2>&1"); 

chose étrange est mon $image_name est jamais se lire. Je crois que certaines choses fondamentales me manquent peut-être. J'ai essayé de nombreuses façons, mais ça fait 3 heures ici et toujours coincé.

Une suggestion sur quelle erreur ai-je ici?

Répondre

1

C'est parce que vous devez échapper à \ sinon il va échapper $. Essayez cette solution:

echo("\"C:\path_with_spaces_to_.exe\" -c -n 1 C:\path_to_image\\$image_name 2>&1"); 
+0

Thx! Tu as raison ! Ça marche. – Lyn

+0

Pour d'autres personnes, qui ont eu le même problème, il y a une autre solution que j'ai trouvée. Mais, @B. Desai répond encore plus net. Voici une autre solution pour cela en utilisant dot (.): 'Shell_exec ('' C :: \ path_avec_spaces_to_.exe \" -c -n 1 C:/chemin_vers_image/'. $ Image_name.' 2> & 1 ') ' – Lyn