如何将参数传递给bat文件中的php脚本
我正在尝试添加一个脚本,跟踪某些统计信息,并每24小时向windows任务计划程序发送电子邮件 我这样做的方式是使用bat文件 脚本每分钟运行一次,但仅在我添加email=true时发送一封电子邮件 过去,我经常通过xampp运行此程序,URL为:http://localhost/path/here/script.php?email=true 我正试图从windows任务计划程序中执行相同的操作,但我不知道如何添加此参数 我的bat文件包含:如何将参数传递给bat文件中的php脚本,php,windows,batch-file,localhost,Php,Windows,Batch File,Localhost,我正在尝试添加一个脚本,跟踪某些统计信息,并每24小时向windows任务计划程序发送电子邮件 我这样做的方式是使用bat文件 脚本每分钟运行一次,但仅在我添加email=true时发送一封电子邮件 过去,我经常通过xampp运行此程序,URL为:http://localhost/path/here/script.php?email=true 我正试图从windows任务计划程序中执行相同的操作,但我不知道如何添加此参数 我的bat文件包含: @ECHO OFF C:\xampp\php\php
@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参数与脚本中的参数分开
但这还不够,因为参数现在存储在$argv数组中。因此,您可以在数组'email=true'、$argv;中将其检查为$sendmail=
或者你需要更多的选择,你可以使用类似的东西
如果您需要它位于$\u中,也可以查看它。CLI参数的工作方式不同。您可以按以下方式运行它:
C:\xampp\php\php.exe -f "C:\xampp\htdocs\path\here\script.php" -- email=true
注意第一个-,它将php.exe参数与脚本中的参数分开
但这还不够,因为参数现在存储在$argv数组中。因此,您可以在数组'email=true'、$argv;中将其检查为$sendmail=
或者你需要更多的选择,你可以使用类似的东西
如果你需要它在$\u中,也可以查看这个。回答:我没有发现这是上面的重复,很抱歉,我检查了10次,但没有办法让它工作。是的,我编辑了我的评论,它不是重复的,但你的答案在这里php/path/to/wwwpublic/path/to/script.php arg1 arg2不执行任何操作。当然,因为您的脚本是C:\xampp\htdocs\path\here\script.php。。。你想复制/粘贴答案吗?回答:我没有发现这是上述内容的重复,很抱歉,我已经重复了10次,但没有办法让它正常工作。是的,我编辑了我的评论。这不是重复的,但你的答案在这里php/path/to/wwwpublic/path/to/script.php arg1 arg2不执行任何操作。当然,因为您的脚本是C:\xampp\htdocs\path\here\script.php。。。你想复制/粘贴答案吗?嘿,谢谢你的回复,这是否意味着如果我使用-email=true,script.php需要编辑?是的,你需要编辑script.php以正确检索参数,或者按照我提到的方式,或者在链接的SO答案中。好的,在script.php中有一行:if isset$\u GET['email']&&strotlower$\u GET['email']==true{大量代码}我不太明白SO的答案:是的,用数组'email=true'中的if替换当前的if…,$argv.Thank!这似乎已经解决了问题。你让我开心了:谢谢你的回复,这是否意味着如果我使用-email=true,需要编辑script.php?是的,你需要编辑script.php来正确检索参数eit在script.php中有一行代码:if-isset$_GET['email']&&strtolower$_GET['email']==true{look of code}我不太明白SO的答案:是的,用数组'email=true'中的if替换当前的if…,$argv。谢谢!这似乎已经解决了问题。你让我开心了:D