如何将参数传递给 bat 文件中的 php 脚本
How do I pass parameters to a php script in a bat file
我正在尝试添加一个脚本来跟踪某些统计信息并每 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
数组中。所以您可以将其检查为 $sendEmail = in_array('email=true', $argv);
.
或者(您需要更多选项),您可以使用 getopt.
如果您需要它在 $_GET
中,也请查看此 SO answer。
我正在尝试添加一个脚本来跟踪某些统计信息并每 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
数组中。所以您可以将其检查为 $sendEmail = in_array('email=true', $argv);
.
或者(您需要更多选项),您可以使用 getopt.
如果您需要它在 $_GET
中,也请查看此 SO answer。