[PHP]ランダムに広告(文章)を表示する方法

たまにはPHPについて書いておかないと、「お前は書評家か!」とツッコミを受けそうなので、タイトルどおりのソースを記述します。


<?php
$r = rand(0,4);
$link = array(
'リンク1',
'リンク2',
'リンク3',
'リンク4',
'リンク5'
);
$bun = $link[$r];
echo "PR:{$bun}";
?>

randでランダムな数字をだし、それを配列を呼び出すのに利用するという簡単なソースコードです。

これをちょいと応用して、次のようなスクリプトとファイルを作成。
— rand.php —

<?php
$rand_file = 'rand.log';
$random = file_exists($rand_file);
$link = $random ?file($rand_file) : array();
$rand_c = count($link);
$rand_c = $rand_c - 1;
$r = rand(0, $rand_c);
$bun = $link[$r];
echo "PR:{$bun}";
?>

rand.logというファイルを作成し、各行ごとにランダム表示させたい広告文を記述。
$rand_fileで読み込むファイルを指定、$linkでファイルを各行ごとに配列として格納してます。$rand_cで配列の数をカウントし、$rで0からその値までのランダム数字が生成されます。
これによって、rand.logを更新すれば、rand.phpがランダム表示してくれる仕組み。

コメント

  1. 初心者ですが より:

    過去記事にコメント、すみません。
    もしかしてなんですがarray()に入れた数が5行だとしたら0~4ですよね?
    count()も-1したほうがいいのでは?

  2. olisys より:

    初心者ですが 様>
    その通りです。こちらの記述ミスでした。
    申し訳ございません