**[[続・質問箱/463]] [#w3e82199] |RIGHT:70|LEFT:410|c |~サマリ|指定したフォルダに入ってる画像をランダムに表示させたい| |~バージョン|PukiWiki 1.4.4| |~投稿者|[[はるほ]]| |~状態|質問| |~投稿日|&new{2004-12-03 (金) 16:45:47};| ***質問 [#wc1f19f0] 指定したフォルダに入ってる画像をランダムに表示させたいのですが、いい方法はないでしょうか? ***回答 [#o9878309] -普通に特定のディレクトリを検索して特定の拡張子のファイルをつかまえ、ランダムにひとつ抜き出して中身が本当に画像なのかをチェックして、出力するというPHPスクリプトを個別に書くのが一番軽いと思います。乱数以外の基本的な手法についてはrefプラグインのソースがそのまま使えると思います。 -- [[henoheno]] &new{2004-12-03 (金) 23:32:11}; -「特定のページに添付されたファイルの中から」という場合は、refプラグインの改造でいけると思いますよ。attachよりも軽いです -- [[henoheno]] &new{2004-12-03 (金) 23:33:08}; -拙作で申し訳ないのですが、[[自作プラグイン/rothtml.inc.php]]で事足りませんか? -- [[teanan]] &new{2004-12-04 (土) 03:13:36}; -では、henohenoさんの「特定ページに添付されたファイルの中から」案でも一つ。 &ref(randimg.inc.php); -- [[ARAI]] &new{2004-12-04 (土) 08:00:25}; -みなさまどうもありがとうございます。そのものズバリの機能やプラグインはないのですね。PHPスクリプトを作る技術は持ってないです。rothtml.inc.phpはhtml作成が必要、randimg.inc.phpはどこかのページに添付する必要があるんですね。 -- [[はるほ]] &new{2004-12-04 (土) 22:16:44}; -ref でページにフォルダ内にファイルの一覧をURLで書くという条件なら[[自作プラグイン/randommes.inc.php]]があります。 -- [[みこ]] &new{2004-12-04 (土) 22:34:28}; -ただ、サーバ内のフォルダを自動的にピックアップするなら、ちゃんと添付してrandimg.inc.phpを使用するほうがいいかとおもいます。((なぜなら、その画像はサーバ管理下であろうがなかろうが、PukiWiki管理下の画像ではないということになるから・・・)) -- [[みこ]] &new{2004-12-04 (土) 22:40:05}; -訪問者が飽きないように、画像ファイルを1000枚くらい置きたいので、添付していくのはちょっと骨ですね。ありがとうございます。 -- [[はるほ]] &new{2004-12-04 (土) 22:53:46}; -あまり好みの手ではありませんが… &ref(randimg2.inc.php); -- [[ARAI]] &new{2004-12-04 (土) 23:23:34}; -ああ、同一ページに多数置くなら、 -- &new{2004-12-04 (土) 23:35:06}; function randimg2_get_image( $page) { static $img; if ( $img == '' ) { foreach ( glob(RANDIMG2_SEARCHDIR.'*.*') as $afile ) { if (preg_match('/\.(jpe?g|png|gif|bmp)$/i',$afile)) { $img[] = basename($afile); } } list($usec) = explode(' ',microtime()); srand($usec*100000000); } return RANDIMG2_BASEURL.$img[rand(0,count($img)-1)]; } とした方が良いかもしれないです。 #comment