【发布时间】:2013-06-07 18:31:53
【问题描述】:
我正在创建一个电子邮件报告系统来发送预定的电子邮件(每天、每周等),其中包含某些SQL 查询的结果。
我有一个HTML 和JQuery 页面,generate.html,其中包含一个允许用户自定义报告的表单。该表单使用户能够更改要执行的SQL 查询的某些变量。
这些变量被传递到PHP 文件report.php,其中包含查询并处理通过电子邮件发送结果。
举例
用户在HTML 表单上输入电子邮件地址并提交。 report.php 通过$input_email = trim($_REQUEST['input_email']); 接收这个变量。
我的问题在于使用cron 按计划执行report.php 文件。我没有尝试过,但我很确定当cron 执行report.php 时,它会在PHP 文件中看到$input_email 并且不知道如何处理它。
我看到了两种解决方案
- 让
cron不只是执行report.php,而是在report.php 中添加查询字符串,所以它看起来像:report.php?input_email=user@email.com - 将 report.php 文件复制到一个新文件 hardcode.php 中,其中所有
$variables都替换为其实际值,然后是cron可以自己执行hardcode.php
我希望实施 second 解决方案,但不知道如何实施。我对 PHP 和 JQuery 比较陌生。任何帮助将不胜感激!谢谢。
【问题讨论】:
-
$argv[1] 是你的第一个命令行参数,所以如果你阻止 input_email 的分配,所以它类似于
if(isset($argv[1])) $_REQUEST["input_email"] = $argv[1];,那么你可以通过php report.php user@email.com调用它 -
这可能对您有所帮助Passing $_GET parameters to cron job 您可以在 cmd 行中传递变量以进行 cron 设置。
-
好主意,我得试试看。您可以为同一个文件创建多个 cron 作业,每个作业使用不同的参数,对吗?
标签: php jquery variables parameter-passing hardcode