将参数传递给运行批处理文件

时间:2014-08-06 17:18:26

标签: php sockets batch-file

我已经运行批处理文件作为我的套接字侦听器,它将从连接的客户端接收数据。我想通过网页向连接的客户端发送命令,但我遇到问题或者我不知道如何完成这项工作,将参数传递给我正在运行的批处理文件监听器。

我在向正在运行的批处理文件的客户端发送命令时尝试了此代码段。

if(isset($_GET['comparam'])) {
  $mycommand = $_GET['comparam'];
   foreach ($clients as $send_sock) {
       socket_write($send_sock, $mycommand);
   }
}

但没有任何反应,我的代码无效。

我感谢有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您正在从bacth文件运行php,因此它是PHP CLI。

$_GET用于Web版本,命令行中不存在这样的概念。

你传递参数的方式是这样的:

C:\some\path\yourScript.php comparam

然后您将从脚本中读取值,如下所示:

if(isset($argv[1])){  
   $mycommand = $argv[1];
   foreach ($clients as $send_sock) {
      socket_write($send_sock, $mycommand);
   } 
}

$argv — Array of arguments passed to script