初級・中級者向け~ウェブ制作備忘録
ランダム画像の需要は多いが、配列を記述して並べ替え…云々と結構面倒くさいコードになるが、極力手間を省いてランダム表示するコードを模索したところ『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」を重複することなく表示します。
PHP | |
2019.07.06 07:13 | |
2019.07.12 07:07 |