2010-12-04 7 views
3

私は非常に基本的なPHPスクリプトを使用して、自分のサイトのフィルタリング可能なリストに、興味のあるリンクを投稿しています。また、自分のRSSフィード(どのフィードバーナーもpingしたときにつぶやきます)にあります。将来の予定のコンテンツをスケジュールする/キューに入れる方法PHPで公開するには?

私は、複数のエントリーを一度に提出し、それぞれのリリース予定日時を予定する「キュー」を追加することがどれほど難しいだろうと思っていますか?

TwufferはTwitterやTumblrと同じですが、Wordpressはブログ投稿のために行っています。

これにはcronジョブが必要ですか?おそらく私のPHPスクリプトで別のファイル'drafts.txt'が将来の投稿であれば、そして予定されたcronはならば時刻/日付=ならば、それを他のファイルに書き込むでしょうか?

私は明らかにこの初心者ですが、助けていただければ幸いです。ありがとう!

<?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>"); 
} 
?> 

答えて

1

あなたは、私が推測するhere上でこのについての詳細を読むことができますが、簡単な要約:

使用クーロン定期 スケジュールでジョブを実行するには、ここ

は私の現在の小さなスクリプトです(例えば、毎晩自動テープをバックアップして をバックアップするか、 月末レポートを生成する)。を使用して ジョブを将来のある時点で1回実行してください。 両方を使用して、繰り返しの作業を自動化します( )!

私はあなたのタスク


をスケジュールするatを使用する必要がありますしかし、あなたはまた(寛大なクォータ)無料であなたのタスクをスケジュールするtask queue/cronのGoogle App Engineのを見ていることができると思います。 webhooksを使用してタスクとスケールを自動的に実行します。

+0

助けてくれてありがとう - あなたは正しい方向に私を考えさせてくれました! – Josiah

2

は、ここで私は(右方向に考えて私を取得するためにアルフレッドへの感謝を)やってしまったものです:

  • が、私は「今」投稿したり、「その後」に私のフォームにラジオボタンを追加しました。
  • "後で"を選択すると、記事を公開したいと思ったときにdatetime varをスクリプトに渡すdatepickerが表示されます。
  • 私のスクリプトでは、「Now」が選択されている場合、データは上記のように.txtファイルに直接書き込まれます。 「後で」を選択すると、データはMySQLデータベースに書き込まれます(公開タイムスタンプ付き)。
  • 私は、10分ごとに別のPHPスクリプトを実行して、自分の.txtファイルに渡されたタイムスタンプを持つデータを書き、dbからそのエントリを削除するようにスケジュールしました。

素晴らしい作品です!

関連する問題