我正在编写一个php脚本来打开一个c#应用程序并将两个变量发送到c#应用程序中。当我在Windows资源管理器中单击.exe文件时,程序将打开。但是当我运行我的php脚本时没有任何反应。
<?php
$param1 = "Hello";
$param2 = "Goodbye";
$execCommand = printf("C:\Users\akatz\Documents\Visual Studio 2012\Projects\WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe %s %s", $param1, $param2);
exec($execCommand);
?>
答案 0 :(得分:1)
我很确定你是在逃避U,a,D,V,P等等。
我建议使用单引号来防止转义,并escapeshellarg
来防止参数出现问题:
<?php
$param1 = "Hello";
$param2 = "Goodbye";
$file = 'C:\Users\akatz\Documents\Visual Studio 2012\Projects \WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe';
$execCommand = escapeshellarg($file).' '.escapeshellarg($param1).' '.escapeshellarg($param2);
exec($execCommand);
?>