如何根据日期/时间执行PHP操作?
我想让我的服务器向我发送如何根据日期/时间执行PHP操作?,php,email,Php,Email,我想让我的服务器向我发送电子邮件,其中包含基于我的web托管提供商服务器数据库中生日日历的生日提醒。我知道如何从PHP发送e-mail,但这只是在客户端点击按钮后的一个动作。这也是我能找到的唯一执行动作的方法 在没有用户交互的情况下,如何让服务器在特定的日期/时间向我发送电子邮件 编辑 我不认为我的问题是重复的。假定的重复链接指的是一个关于cron的问题,答案是关于语法的,但它没有解释cron是如何工作的,或者我如何使用它来解决我的问题。详细说明Apb给出的评论 使用内容(按钮的脚本部分)创建p
电子邮件
,其中包含基于我的web托管提供商服务器数据库中生日日历的生日提醒。我知道如何从PHP
发送e-mail
,但这只是在客户端点击按钮后的一个动作。这也是我能找到的唯一执行动作的方法
在没有用户交互的情况下,如何让服务器在特定的日期/时间向我发送电子邮件
编辑
我不认为我的问题是重复的。假定的重复链接指的是一个关于cron的问题,答案是关于语法的,但它没有解释cron是如何工作的,或者我如何使用它来解决我的问题。详细说明Apb给出的评论
使用内容(按钮的脚本部分)创建php文件
如果您正在执行php脚本,请使用或
Santosh Achari就问题回答了另一个选项,以详细说明Apb给出的评论
使用内容(按钮的脚本部分)创建php文件
如果您正在执行php脚本,请使用或
Santosh Achari回答了另一个问题您可以编写一个php脚本在命令行上执行。要从命令行运行php脚本,只需使用php
命令:
php myscript.php
在本例中,如果myscript.php
具有发送电子邮件的所有逻辑,那么您只需设置一个cron作业,以便每天或每小时(无论您希望它执行的频率如何)自动执行该文件。然后,您所需要做的就是在PHP脚本中编写逻辑,以检查是否是发送这些电子邮件的“时间”
为php脚本设置cron作业的方法。您可以编写一个php脚本,以便在命令行上执行。要从命令行运行php脚本,只需使用php
命令:
php myscript.php
在本例中,如果myscript.php
具有发送电子邮件的所有逻辑,那么您只需设置一个cron作业,以便每天或每小时(无论您希望它执行的频率如何)自动执行该文件。然后,您所需要做的就是在PHP脚本中编写逻辑,以检查是否是发送这些电子邮件的“时间”
为php脚本设置cron作业的方法。正如其他所说的cron作业是实现这一点的好方法
例如(非常初级)script.php
include '../connect.php';
$birthday_list =[];
$today = date("m.d.y");
try {
$sql = "SELECT `Birthday`, `Name`, `Surname`, FROM `Friends` WHERE Friends.Birthday = '$today'";
foreach ($conn->query($sql) as $row) {
$temp = [$row['Birthday'],$row['Name'],$row['Surname']];
$birthday_list[] = $temp;
}
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
foreach ($birthday_list as $el){
$name = $el[1];
$surname = $el[2];
$message = 'Todays is'.$name.' '.$surname.' birthday';
mail('me@example.com', 'My Subject', $message);
}
然后您可以将此脚本作为cronjob运行,一些主机(例如godaddy)允许您从cpanel设置cron,否则您必须从服务器外壳设置cron。因为其他所述cronjob是实现这一点的好方法
例如(非常初级)script.php
include '../connect.php';
$birthday_list =[];
$today = date("m.d.y");
try {
$sql = "SELECT `Birthday`, `Name`, `Surname`, FROM `Friends` WHERE Friends.Birthday = '$today'";
foreach ($conn->query($sql) as $row) {
$temp = [$row['Birthday'],$row['Name'],$row['Surname']];
$birthday_list[] = $temp;
}
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
foreach ($birthday_list as $el){
$name = $el[1];
$surname = $el[2];
$message = 'Todays is'.$name.' '.$surname.' birthday';
mail('me@example.com', 'My Subject', $message);
}
然后,您可以将此脚本作为cronjob运行,一些主机(例如godaddy)允许您从cpanel设置cron,否则您必须从服务器外壳设置cron。您可以将cron job设置为发送电子邮件可能重复的Yes Joris。服务器中有一个选项可以为任何时间间隔设置cron job文件。你应该去做。没错,你需要为此设置Cron作业。您可以将此表单设置为您的服务器cpanel。在这里,您将获得一个标签式的Cron作业,您将在那里获得所有相关信息。查看他的编辑,它不是的副本,但您可以从中设置Cron作业以发送电子邮件可能是Joris的副本。服务器中有一个选项可设置任意间隔的Cron作业文件。你应该去做。没错,你需要为此设置Cron作业。您可以将此表单设置为您的服务器cpanel。在那里你会得到一个标签式的Cron作业,你会在那里得到所有相关的信息。看看他的编辑,这不是重复的,但我把它放在哪里?我所拥有的只是我的Web主机上的网页目录。请查看您的Web主机帮助,其中一个必须提供cron选项我应该将其放在哪里?我只有一个在我的Web主机上的网页目录。请查看您的Web主机帮助,其中必须提供cron选项