- ベストアンサー
自社サイトの管理をしているプログラム初心者です。HTMLファイルをランダムに表示する方法を教えてください。
- 自社サイトの管理をしているプログラム初心者です。現在index.php内の一部分に、HTMLファイル(1点)読み込んで表示しているのですが、これを2~3点のHTMLファイルをランダムに表示するよう修正を加えたいと思っております。
- 調べてみたところ、現在「include」で読み込んでいるHTMLファイルの指定(下記参照)を、phpのスクリプトを記載した外部ファイルのテキストファイルの指定をするのが良いかと思ったのですが、肝心のスクリプトのサンプルが探せませんでした。そもそもこの方法で良いのかも正直不安です。
- できるだけ簡単な方法と、必要な外部ファイルがありましたらスクリプトを教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
複数のファイルの中から、ランダムで1つを選択して、 そのファイルを読み込みたいという事でよろしいでしょうか。 下記のような形で書いておけば、 一番最初の$include_filesの定義部分を変更するだけで 読み込むファイルの削除や追加が行えるので便利かと思います。 <?php // 読み込む候補ファイルの指定 $include_files = array('a.htm', 'b.htm', 'c.htm'); // 候補ファイル数の取得 $num = count($include_files); // 候補ファイル数未満の数値をランダムで取得 $rnd = mt_rand(0, $num - 1); // ランダムに選ばれたファイルの読み込み include($include_files[$rnd]); ?>
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
htmlファイル自体の中身が競合しそうですが、とりあえずこんな感じでできそうです <?php if ($dir = opendir("./")) { while (($file = readdir($dir)) !== false) { if (preg_match("/\.htm$/",$file)) { $files[]=$file; } } closedir($dir); shuffle($files); $files=array_slice($files,0,3); foreach($files as $file){ include($file); } } ?>
お礼
さっそくのお返事ありがとうございました。まだphpに慣れておらず、細かいスクリプトの部分がよくわからないのですが、試してみたいと思います。
- qaqa246
- ベストアンサー率27% (45/163)
乱数
お礼
さっそくのお返事ありがとうございました。勉強してみます。
お礼
試してみたところ、ちゃんとランダム表示できました。この方法なら、本当に簡単にファイルの追加や削除ができますね! どうもありがとうございました。