Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将参数传递给bat文件中的php脚本_Php_Windows_Batch File_Localhost - Fatal编程技术网

如何将参数传递给bat文件中的php脚本

如何将参数传递给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

我正在尝试添加一个脚本,跟踪某些统计信息,并每24小时向windows任务计划程序发送电子邮件

我这样做的方式是使用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参数与脚本中的参数分开

但这还不够,因为参数现在存储在$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