编程语言
首页 > 编程语言> > 如何计划/排队内容以供将来在PHP中发布?

如何计划/排队内容以供将来在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