commande PHP exec ou system sous windows avec des espaces ( ) |
|
|
Ecrit le 03-09-2011 (7163 hits) ... section Web
la commande PHP exec() ou system() sous windows fonctionne bizzarement lorsqu'il y a des espaces dans le chemin de l'executable: par exemple la ligne suivante est rejetée alors qu'elle fonctionne sous console: | "C:\Program Files (x86)\Editeur\Prog\prog.exe" -r --copyall source dest |
La solution (bizzare aussi): si la chaine de ligne de commande est | $cmd='"C:\Program Files (x86)\Editeur\Prog\prog.exe" -r --copyall source dest'; |
il suffit de l'encapsuler encore dans des doubles quotes par exemple: | $cmd='""C:\Program Files (x86)\Editeur\Prog\prog.exe" -r --copyall source dest"'; |
donc on a 2 fois des doubles quotes, autour de la commande et autour du chemin de l'executable.
|