話題の人物YouTubeまとめ&雑記雑感雑多ログ

指定ディレクトリ(フォルダ)内の画像ファイルを抽出してランダム(重複なし)に表示させる最短コード

ランダム画像の需要は多いが、配列を記述して並べ替え…云々と結構面倒くさいコードになるが、極力手間を省いてランダム表示するコードを模索したところ『glob』関数を使えば、これ以上ない簡単なコードができました。

<?php
$img = glob($_SERVER['DOCUMENT_ROOT'].'/指定ディレクトリ/*.{png,jpg,jpeg,gif}', GLOB_BRACE);
shuffle($img);
?>

指定ディレクトリ内の画像(png、jpg、jpeg、gif)を「glop」で変数「$img」に配列化。続いて配列$imgをshuffle(ランダムに並べ替え)します。

<?php
echo '<p><img src="https://' .$_SERVER['HTTP_HOST']. '/指定ディレクトリ/' .basename($img[0]). '"></p>'."\n";
echo '<p><img src="https://' .$_SERVER['HTTP_HOST']. '/指定ディレクトリ/' .basename($img[1]). '"></p>'."\n";
echo '<p><img src="https://' .$_SERVER['HTTP_HOST']. '/指定ディレクトリ/' .basename($img[2]). '"></p>'."\n";
?>

後は、表示したい場所で、配列$img[0~]をechoするだけ。

さらにbasenameは、ファイル名を取得しますので、ファイル名の指定すら必要なく、自動的に拡張子「png、jpg、jpeg、gif」を重複することなく表示します。


JavaScriptの重複しないランダム表示も参考にどうぞ。

関連記事

httpsページをfile_get_contentsするとエラーになる場合の回避策 2018.05.01 文字列から指定文字を削除(置換え) 2018.05.01 CSVファイル(カンマ区切り)から指定件数のデータをランダム表示 2018.05.01 外部ファイルの<body>~</body>を抜き出して挿入 2018.05.01

雑記雑感雑多ログ

タイ・シルバーの新芽2本目を確認 2018.05.12 画像遅延スクリプト「echo.js」でページ表示の体感速度を上げる。 2018.05.11 格闘技イベント「RIZIN」での衝撃KOシーン!堀口恭司vsイアン・マッコール 2018.05.09 広告収入で賄う無料タクシー「nommoc/ノモック」とは!? 2018.05.08 これって…そのためのTシャツ!?ポケットティッシュをスマートに出せるアイデアTシャツ 2018.05.07 ゴールデンウィーク明けの仮想通貨動向 2018.05.07 プロレスの登場シーンをかっこ良く決めるつもりが、張り切り過ぎてしまった結果・・・ズッコケ名シーン。 2018.05.05 新サイト「CCindex/仮想通貨・暗号通貨まとめ」リリース! 2018.05.04 指定ディレクトリ(フォルダ)内の画像ファイルを抽出してランダム(重複なし)に表示させる最短コード 2018.05.01 最低覚えておきたいチャートの見方 2018.05.01

PR

【CCindex】仮想通貨・暗号通貨まとめ