[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がランダム表示してくれる仕組み。

PHPによるWebアプリケーションスーパーサンプル 第2版

著者/訳者:西沢 直木

出版社:ソフトバンククリエイティブ( 2006-03-24 )

定価:¥ 3,990

Amazon価格:¥ 3,990

大型本 ( 756 ページ )

ISBN-10 : 479733245X

ISBN-13 : 9784797332452


スポンサード リンク

Comments

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

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

コメントする

(必須)

(必須)