2

申し訳ありませんが、私は PHP が初めてで、サーバー側で機能するカウンターを作成するためのヘルプ/ガイダンスが必要なので、初期値を更新すると思いますか?

たとえば、1500 のベース番号から始めて、その番号を 2 分ごとに 1 ずつ増やしていく必要があります。

初期値を sql に保存する必要がありますか、それとも txt ファイルを更新できますか?

どんな助けでも素晴らしいでしょう、

ありがとう

4

4 に答える 4

1

必要に応じて実行できSQLますが、テキスト ファイルでも問題ありません。値 (1500) を保存してから、cronjobを作成し、クエリをPHP実行するコードを設定する必要があるファイルを実行させます。SQLその値を更新するか、そのテキスト ファイルを 2 分ごとに更新するコードを更新します。

例:

# Every two minutes
*/2 * * * * /your/path/too/this/file/updatecode.php

あなたのPHPファイルで:

$SQL = "UPDATE table SET columnname = columname + 1";
// etc...

// OR the text file update code
于 2013-10-21T10:03:54.663 に答える
0

何らかの理由で特に保存する必要がない場合は、cron などを実行する必要はありません。開始したい特定の時点のタイムスタンプを取得します。それから分数を計算し、それを開始番号 (1500) に追加します。

//Start Number
$n = 1500;
$cur_time = time();
$orig_time = strtotime("2013-10-21 10:00:00");

//New Number + difference in minutes (120 seconds for 2 mins) since start time
$newn = $n + round(abs($cur_time - $orig_time) / 120,0);

// Output New Number
echo $newn;

そして、コピー/貼り付けのために1行にまとめたい場合

 echo 1500 + round(abs(time() - strtotime("2013-10-21 10:00:00")) / 120,0);
于 2013-10-21T10:12:47.127 に答える
0

それを保存する必要がある場合、これのための SQL データベースはおそらくやり過ぎです。番号を作成し、シリアル化し、ファイルに保存します。次回はファイルからロードし、アンシリアライズし、インクリメントし、シリアライズして保存します。数値とともにタイム スタンプをファイルに保存すると、2 分ごとにジョブを実行する必要がなくなり、代わりにファイルから数値を読み込むときに正しい値を計算することができます。

このようなもの(ただし、エラーチェックなどを追加する必要があり、計算が正しいことを確認するために実際に試したことはありません...しかし、主なアイデアは見えるはずです)。

<?php

if(file_exists('mydatafile')) {
  $data = unserialize(file_get_contents('mydatafile'));
  // Calculate correct value based on time stamp
  $data['number'] += round((time() - $data['timestamp']) / 120);
}
else {
  // Init the number
  $data["number"] = 1500;
}

// Print it if you need to here

// Update time stamp
$data["timestamp"] = time();

// Serialize and save data
file_put_contents('mydatafile', serialize($data)));
于 2013-10-21T10:07:15.617 に答える
0

日付を使用するだけで、データベースなしでこれを行うことができます。2 つの日付 (現在の日付とスクリプトを作成した開始日) の時間差を計算し、それを 2 分間の正しいミリ秒数に分割し、それを最初の 1500 に追加します。

于 2013-10-21T10:09:19.543 に答える