• 締切済み

複数のファイルの中からランダムに選んでブラウザに表示する

10行程度のテキストファイルが複数あります。 ブラウザで呼び出したとき、ランダムにそのファイルの一つを表示するには、どうしたらいいでしょうか。 コードを教えていただけますとありがたいです。

  • PHP
  • 回答数3
  • ありがとう数0

みんなの回答

回答No.3

joy_28さんのコードをさらに簡単にするなら、 <?php $num = rand(0,4); $data = file_get_contents("./txt{$num}.txt"); echo str_replace(array("\r\n", "\n", "\r"), '<br />', $data); ?> ですかね。

  • joy_28
  • ベストアンサー率84% (45/53)
回答No.2

以下では、どうでしょうか? ・前提:同一階層に、txt0.txt、txt1.txt、txt2.txtのように、5枚あるとして <?php $num=rand(0,4); $file=fopen('./txt'.$num.'.txt','r'); flock($file,LOCK_SH); while(!feof($file)){//行末まで行ってないなら、一行ずつ読み込む $line=fgets($file); print $line.'<br>'; } flock($file,LOCK_UN); fclose($file);

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

<?php $dirname="./"; $list=Array(); if ($dir = opendir($dirname)) { while (($file = readdir($dir)) !== false) { if(is_file($file)) $list[]=$file; } closedir($dir); } shuffle($list); ?> っとして$listをすきなだけforで回せばよいでしょう

関連するQ&A

  • 複数のswfファイルをランダム表示させたい

    複数のswfファイルバナーがあって、トップページに これらのバナーをランダム表示させたくて、ランダム 表示用のswfファイルを用意したのですが、どうしても 表示できません。 ランダム表示用swfファイルの1フレーム目には、 下記の通りASを書いてみました。 swfList= new Array("aaa.swf","bbb.swf","ccc.swf"); listLength=swfList.length; rndNum= Math.floor(Math.random()*listLength); loadMovie(swfList[rndNum],"_root"); このswfファイルも、他のバナー用aaa,bbb,ccc.swfファイルも 同じフォルダ内に保存しています。 ちなみに当方Flash MX2004 professional使用です。 どこが間違っているか、どなたがご教授下さいませ。

  • FLASHを使って、複数のswfとjpgをランダム表示させたい

    現在、10個程度のswfファイルと60個程度のjpgファイルがあります。それらをjavascriptを使わずに(基本的にはFLASHで)、アクセスするたびにHTML上でランダム表示させたいと考えています。 これまで、ひとつのswfファイルをベースにして、以下のアクションスクリプトを使って、10個のswfファイルをランダム表示させることには成功しています。 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //1~3の整数の乱数を,変数 ransuu にセット ransuu = Math.floor(Math.random()*13)+1; //ムービー内に ransuu+".swf" をロード this.loadMovie(ransuu+".swf"); :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: たぶんこのスクリプトを発展させれば、jpgもランダム表示できるようになると思います。 ランダム表示させたい複数のswfファイルとjpgファイルは同じ階層にあります。HTMLはそのひとつ上の階層にあります。ベースとなるswfファイルは、複数ランダム表示用のファイル群と同じ階層でも良いし、もしくはHTMLと同じ階層でも良いことにします。 どのような方法があるか、教えてください。 *ちなみに、ベースとなるswfファイルを複数ランダム表示用のファイル群と同じ階層において、そのひとつ上の階層にあるHTMLから読み込んだ場合、うまく表示されませんでした。このアクションスクリプトを引用した元のウェブサイトでは、HTMLも、ベースとなるswfファイルも、ランダム表示される複数のファイル群も、全て同じ階層にあるという前提になっていました。

    • ベストアンサー
    • Flash
  • 固定長ファイルの画面表示

    現在、ACCESSで固定長ファイルの作成を行っています。 作成した固定長ファイルは、1行2000バイト程度のファイルで複数行あります。 途中に改行コード入った場合、改行コードもそのまま1行の固定長文字列として出力しています。(1行2000バイト中に含む) 現在テキストエディタにて、出力した固定長ファイルを表示して確認しています しかし、改行コードが固定長文字列の途中に入ると、そこで改行されてしまい表示が非常に見にくいです。 どなたか、改行コードを無視してテキストファイルを開けるソフト知りませんか? よろしくお願いします。

  • 複数の外部jsをランダム表示させたい

    1つのhtmlの中で <script type="text/javascript" src="001.js"></script> <script type="text/javascript" src="002.js"></script> <script type="text/javascript" src="003.js"></script> といった複数のjsをランダムで表示させるコードや、サンプル掲載サイトを教えていただけませんか? 各jsの中身はテキストや画像などHTMLに表示されるものになっています。 よくあるランダムバナーやランダムリンクのjs版という感じです。 画像やテキストのランダムスクリプトを使って、呼び出される部分に当たるところを上記のようなjsに変えてみたりもしたのですが、IEやOperaではOKでしたがFirefoxではエラーになってしまったり、表示されなくなったりして上手くいきませんでした…;; よろしくお願いいたします。

  • ランダムでテキストを表示

    ボタンをクリックしたらランダムでテキスト(一行のもの)を表示、これを複数設置したいです。 一つのみならぐぐればすぐでてきますが、同じページに複数設置する方法がわかりません。 できればテキストは別タブに表示ではなく、同じページのテキストボックスに表示されるものがいいです。 教えてください。

  • 10行単位の文字列をランダムに表示するには

    10行単位になっている文字群をランダムに表示したいのですが。 たとえば、文字列や数字の列、スクリプトなどが、10行単位でdata.txtに入っています。 ランダムに、その文字列を10行単位で表示する方法です。 こんな形で、呼び出し行を入れてブラウザに表示したいです。 <?php require("data.txt"); ?> 具体例でいいますと、強大なサイトを数名で作っていて、それぞれのアカウントのアドワース広告をランダムに表示したいなどという場合です。 ひとかたまり10行の広告が7つあれば、70行です。 それをランダムに10行単位で呼び出せば可能かと思うのですが。 バナーやテキストのランダム広告はたくさんありますが、今回のようなものは探してもないので、教えていただけるとありがたいです。 もちろんもっといい方法があれば歓迎です。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • 複数のランダム表示について

    現在、外部のjsを読み込み、 ランダムではなく下記の方法で 4バナー表示をしております。 【index.html】 <script type="text/javascript" src="js/banner.js"></script> 【banner.js】 document.write("<ul class=\"banner\">"); document.write("<li><a href=\"http://1.jp/\" target=\"_blank\"><img src=\"http://1.jp/img/1画像.jpg\" alt=\"1\" width=\"200\" height=\"80\" /></a><br />1テキスト</li>"); document.write("<li><a href=\"http://2.jp/\" target=\"_blank\"><img src=\"http://2.jp/img/2画像.jpg\" alt=\"2\" width=\"200\" height=\"80\" /></a><br />2テキスト</li>"); document.write("<li><a href=\"http://3.jp/\" target=\"_blank\"><img src=\"http://3.jp/img/3画像.jpg\" alt=\"3\" width=\"200\" height=\"80\" /></a><br />3テキスト</li>"); document.write("<li><a href=\"http://4.jp/\" target=\"_blank\"><img src=\"http://4.jp/img/4画像.jpg\" alt=\"4\" width=\"200\" height=\"80\" /></a><br />4テキスト</li>"); document.write("</ul>"); 【ブラウザ】 1画像.jpg 1テキスト -------- 2画像.jpg 2テキスト -------- 3画像.jpg 3テキスト -------- 4画像.jpg 4テキスト 教えて頂きたいのは、下記のように ランダム表示で4つのバナーを表示させたいのですが どうしたらいいか分かりません。 【ブラウザ】 4画像.jpg 4テキスト -------- 2画像.jpg 2テキスト -------- 1画像.jpg 1テキスト -------- 3画像.jpg 3テキスト 詳しい方おりましたらお教え頂けないでしょうか? よろしくお願いします。

  • <table>、もしくは<iframe>内でのランダム表示は?

    ご質問させてください。 いろいろ調べたのですが、 画像やテキストのランダム表示については、結構あるのですが ページ内にあるひとつの<table>(もしくは<td>)、または<iframe>の中(<iframe>に、入るソースはhtml形式です。)に読み込み毎にランダム表示するスクリプトがわかりません。 そんな素敵なjavascriptがあったら教えてください。また、私、htmlを少し理解している程度なので、やさしくご指南いただけたらと思います。なお、IE、NN等のブラウザ環境はとりあえずおいてのお話でいただければと思います。 よろしくお願いいたします。 たとえば、単純にランダム画像を入れるスクリプトの 画像(img)をhtml(iframeの場合)に変更したらいけるのでしょうか?

  • こんなソフトウェアを探しています。(複数のファイルからテキスト検索)

    こんにちは。PHPファイルのコードを編集しています。フリーのダウンロードしてきたPHPファイルなのですが、ブラウザ上に表示されるテキスト部分の色やサイズ、文章などを変更したいのですが、ファイルがたくさんありすぎててもどこにあるのか見当がつきません。そこで複数のテキストファイルの中から特定のキーワードを検索できるプログラムを探しています。知ってたらぜひ教えてください。お願いします。

  • ファイルを複数選択して・・・

    ダイアログボックスでファイルを複数選択して、読み込んだ内容をテキストボックスに表示させたいのですが、複数でやるとどうもうまくいきません・・・。 どういうふうにコードを記述すればよいのでしょうか? よろしくお願いします。

専門家に質問してみよう