1

基本的に、Web ページのグローバル訪問カウンターを作成したいので、訪問ごとに画像を表示したいと考えています。そのため、10 人がページにアクセスした場合、サーバーからの 10 個のランダムな画像がそのページにエコーされます。11 番目の訪問者がページに到着すると、新しいランダムな画像がエコーされます...

だから私は本当に2つのことで助けが必要です -

  1. 私は非常に基本的な訪問カウンターを持っていますが、セッションでしか機能しません。グローバルに機能させる必要がありますか?
  2. アクセス数に応じて画像をエコーするにはどうすればよいですか?

訪問カウンター用の基本的なコードは次のとおりです。

if(isset($_SESSION['views']))
   $_SESSION['views']=$_SESSION['views']+1;
else
   $_SESSION['views']=1

echo "Page views: ".$_SESSION['views'];

私はまだphpの大初心者であり、どんな助けでも大歓迎です:)

みんなありがとう。

4

3 に答える 3

1

データベースにデータを保存しないことを選択した場合、このコードは適切に機能するはずです。0から9までの画像を検索し、counter.txtという名前の空のテキストファイルを作成して、このコードをphpファイルに配置するだけです。どこか

$file = "counter.txt";
$count = file_get_contents($file);
$fh = fopen($file, 'w') or die("ccould not open file");
$content = (int)$count + 1;
fwrite($fh, $content);
fclose($fh);
$counter_array = str_split($content);
foreach($counter_array as $digit){
    echo "<img src='" . $digit . ".gif' />";
}
于 2012-04-16T20:03:30.620 に答える
0

SESSION はグローバル ストレージ用ではありません。

彼らはウェブサイトがオープンするまでしか生きていません。

グローバル変数を格納するには、データベースを使用する必要があります。


さて、画像表示部分に来ました。訪問回数に固有の番号で画像に名前を付けることができます。

例えば:

4.jpg は4人目の奴になった時の画像になります

次に、このような単純なスニペットを使用できます

$visitCounter = "?"; //Get the count using a logic
echo "<img src="$visitCounter.jpg" />"; //Use it to create a image path
于 2012-04-16T19:46:56.947 に答える
0

$_SESSION はこれの間違った使い方です。

以前は、サーバー上のテキスト ファイルの読み取りと書き込みを行っていました。群れの問題があるため最善の方法ではありませんが、ファイルの読み取りと書き込みの経験が得られます。

于 2012-04-16T19:47:21.087 に答える