如何将参数传递到bat文件中的php脚本
我正在尝试添加一个跟踪某些统计信息的脚本,并且每隔24小时将这封电子邮件发送给Windows任务计划程序。如何将参数传递到bat文件中的php脚本
我这样做的方式是使用bat文件。
脚本每分钟运行一次,但仅在添加email=true
时发送电子邮件。
在过去我曾经通过XAMPP的URL运行这个命令:http://localhost/path/here/script.php?email=true
我试图做从Windows任务调度同样的事情,但我对如何添加这个参数没有任何线索。
我的bat文件包含:
@ECHO OFF
C:\xampp\php\php.exe -f "C:\xampp\htdocs\path\here\script.php?email=true"
但是,这似乎并没有这样的伎俩。
在此先感谢任何能够帮助并澄清如何正确完成此操作的人。
CLI参数的工作方式不同。您可以为
C:\xampp\php\php.exe -f "C:\xampp\htdocs\path\here\script.php" -- email=true
通知第一--
,它从参数php.exe
参数分离到脚本运行它。
但这还不够,因为参数现在存储在数组中。所以你可以检查它为$sendEmail = in_array('email=true', $argv);
。
或者(您需要更多选项),您可以使用诸如getopt之类的东西。
如果你需要它在$_GET
也可以看看这个SO answer。
嘿,谢谢你的回复,这是否意味着'script.php'需要编辑,如果我使用' - email = true'? – Snowlav 2015-04-03 16:43:32
是的,您需要编辑'script.php'来正确检索参数,或者我提到的方式,或者在链接的答案中。 – 2015-04-03 16:44:43
好的,在script.php中有一行:if(isset($ _ GET ['email'])&& strtolower($ _ GET ['email'])==“true”) {很多代码}'我不太了解SO回答:( – Snowlav 2015-04-03 16:48:26
回答:http://stackoverflow.com/a/9612273/4726998 – 2015-04-03 16:30:48
我不认为这是上述的重复,对不起,但我去了那10倍,但它没有意味着我需要让这个工作。 – Snowlav 2015-04-03 16:32:28
是的,我编辑我的评论它不是重复的,但你的答案在这里。 :) – 2015-04-03 16:33:26