2011-07-29 11 views
0

私は残りのAPI呼び出しから生成されたシンプルなXMLファイルを持っており、cronジョブを介してスケジュールに基づいてデータベースに送られます。CRONでPHP変数をインクリメントする方法

結果は、APIコールがページごとに10に制限されているから戻って、私が午前問題は、私はないんだけど結果

$page_number = 1; 
$page = $page_number++; 

$api_url = "example.com/rest/api?products=new&pageid=$page"; 

の次のセットを取得するための呼び出しのためのページ番号パラメータを更新しています各cronでインクリメントする変数$ pageを得る方法を教えてください。どんな助けでも大歓迎です。

答えて

1

あなたは格納することができ

0

数字をDBに保存するか、数字だけをコンテンツとして持つファイルとして保存するのが最も安全です。

$page_number = file_get_contents("/tmp/file.txt"); 
if (!$page_number) $page_number = 1; 
$page = $page_number + 1; 
$f = fopen("/tmp/file.txt", "w+"); 
fwrite($f, $page); 
fclose($f); 

$api_url = "example.com/rest/api?products=new&pageid=$page"; 
0
$fname = '/tmp/pager_counter'; // don't use tempnam function here!!! 
$fp = fopen($fname, 'w+'); 
$page = (int)fread($fp, filesize($fname)); 
if (!$page) { 
    $pgae=0; 
} 
$page++; 
fwrite($fp, $page, strlen((string)$page)); 

$api_url = "example.com/rest/api?products=new&pageid=$page"; 

君は簡単に任意の別のデータベースまたはキャッシュ(MySQLmemcacheなど)

1

が/tmp/file.txtで新しい空のファイルを作成し使用することができますin:

  • File>>他の回答を参照してください。あなたはこれのためにファイルシステムにアクセスする必要があります(しかし、私はあなたがこれを持っていなければならないと思います)。
  • Redis(またはMemcached)=>http://redistogo.comは、Redisの無料インスタンスと、非常に一般的なPHPライブラリを提供して、redisに接続します。
  • SQL =>ホスティングプロバイダがこれを提供する場合は、PDOを使用して接続する必要があります。また、これを提供する必要があると思います。あなたは一緒に移動する必要があります。
関連する問題