我编写了一个根据创建日期检查记录的应用程序, 我需要从应用程序自动检查发布日期,如果是的话 超过或等于2天,它将发送通知电子邮件,而无需用户或管理员的任何操作。
我知道crontab解决方案,但我知道它在指定的时间工作。我怎么能满足我的需求呢?
MySQL发布表
id | post | date
1 | post 1 | 1394094854
2 | post 2 | 1394094754
3 | post 3 | 1394094654
4 | post 4 | 1394094554
我的script.php
<?php
define('DBHOST', 'localhost');
define('DBNAME', '-');
define('DBUSER', '-');
define('DBPASS', '-');
/*
/ $db ====> mysql connection
*/
$getPosts = $db->query("SELECT * FROM posts");
foreach($gp as $getPosts){
if(time() - $gp['date'] >= 172800){ // morethan or equal 2 days
// send notification email
mail('TO_EMAIL', 'SUBJECT', 'MESSAGE', 'HEADERS');
}
}
请在这个问题上帮助我。 最好的祝福 萨米曼苏尔
答案 0 :(得分:0)
您需要创建一个cron并调用发送电子邮件的脚本页面。
答案 1 :(得分:0)
你需要创建一个cronjob:
0 1 * * * /path/to/php/file/script.php
这将每天凌晨1:00运行script.php文件。
# Minute Hour Day of Month Month Day of Week Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
0 1 0 * * /usr/bin/find
答案 2 :(得分:0)
您需要创建一个cronjobs并使用mysql函数简化脚本
$getPosts = $db->query("SELECT * FROM posts WHERE DATEDIFF(NOW(), FROM_UNIXTIME('date')) >= 2");
因此,您需要发布更多或等于2天的数据。