commande PHP exec ou system sous windows avec des espaces ( Translate to English )
Ecrit le 03-09-2011 (7013 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:

Tip"C:\Program Files (x86)\Editeur\Prog\prog.exe" -r --copyall source dest

La solution (bizzare aussi):

 si la chaine de ligne de commande est

Tip$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:

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