如何计划/排队内容以供将来在PHP中发布?
作者:互联网
我有一个非常基本的PHP脚本,用于将有趣的链接发布到网站上的可过滤列表以及rss提要(当ping通时,该feedburner也会鸣叫).
我想知道添加一个“队列”会多么困难,在该队列中我可以一次提交多个条目并为每个要发布的日期/时间安排时间表?
类似于Twuffer对Twitter或Tumblr和Wordpress对Blog Post所做的事情.
这需要cron工作吗?也许用我的PHP脚本编写另一个文件“ drafts.txt”(如果它是以后的帖子)以及预定的cron以检查time / date =,然后将其写入其他文件?
我显然是新手-但我将不胜感激!谢谢!
这是我当前的小脚本:
<?php
if($_POST['Submit'])
{
$category = $_POST['category'];
$linkurl = $_POST['linkurl'];
$linkname = $_POST['linkname'];
$description = $_POST['description'];
$submittername = $_POST['submittername'];
$submitterurl = $_POST['submitterurl'];
$postdate = $_POST['postdate'];
// Remove slashes.
$description = stripslashes($description);
//the data for list.txt
$data = "
<li class='$category'>
<h3><a href='$linkurl' target='_blank'>$linkname</a></h3>
<p><b>$description</b></p>
<p><small>Submitted by: <a href='$submitterurl' target='_blank'>$submittername</a><i> - $postdate</i></small></p>
</li>
";
$filename = "list.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
$New = "$data$OldData";
$fp = fopen( $filename,"w");
if(!$fp) die("Cannot write $filename .");
fwrite($fp, $New, 800000);
fclose( $fp );
//the data for rss.php
$feeddata = "
<item>
<title>Supplement: $linkname</title>
<link>$linkurl</link>
<description>$description</description>
</item>
";
$ffilename = "rss.txt";
$ff = fopen( $ffilename,"r");
$OldfeedData = fread($ff, 80000);
fclose( $ff );
$New = "$feeddata$OldfeedData";
$ff = fopen( $ffilename,"w");
if(!$ff) die("Cannot write $ffilename .");
fwrite($ff, $New, 800000);
fclose( $ff );
print("<h1>Success!</h1><a href='add.php'>Add Another?</a>");
}
?>
解决方法:
这就是我最终要做的事情(感谢阿尔弗雷德使我朝着正确的方向思考):
>我在表单中添加了一个单选按钮以发布“现在”或“以后”.
>选择“稍后”会显示一个日期选择器,该日期选择器将datetime var传递给我的脚本,以供我希望在何时发布该文章.
>在我的脚本中,如果选择“现在”,则将数据直接写入.txt文件,如上所示.如果选择“稍后”,则将数据(带有发布时间戳)写入MySQL数据库.
>我安排了一个cron作业,每十分钟运行另一个php脚本,以写入带有已传递到我的.txt文件的时间戳的任何数据,并从数据库中删除该条目.
很棒!
标签:scheduled-tasks,cron,queue,task-queue,php 来源: https://codeday.me/bug/20191208/2095157.html