小金井にあるWEB制作会社の備忘録

MEMORANDUM

PHP「glob」を使用して簡易的な画像ギャラリーを実装

商品詳細ページや制作実績ページなど、個別ページを自動生成して画像を多用するページを作成する場合、ワードプレス等のCMSを使用して商品登録(画像登録)をできるようにすることが多いのだけれど、CMSを組むと余計な工数(費用)も掛かるし、ご自身でサーバーに触れることが可能なのでFTPで直接アップロードできる方が望ましいという事で簡易的にPHPでギャラリー機能を実装した方法をメモ。

PHP

foreach(glob('○○○○/*') as $filename){
	if(preg_match('/\.(jpg|png|gif)$/i', $filename)){
		echo('<div><a href="'.$filename.'"><img src="'.$filename.'"></a></div>');
	}
}

「glob」関数を使用して対象となるディレクトリ(○○○○:相対パス)を指定。
ディレクトリ内に存在してる全てのファイルを取得して表示しています。
今回は画像ファイルのみを表示したいので「preg_match」で拡張子で選定しています。

URLにパラメータ(id)を付与して、ページごとに該当するファイルを呼び出す場合は下記。
指定ディレクトリの直下にパラメータと同名のディレクトリを作成しています。

PHP

//URLからパラメータを取得。今回は数字のみのため不要な文字列を排除
if(!empty($_GET['id'])){
	$a = preg_replace('/[^0-9]/', '', $_GET['id']);
}

foreach(glob('○○○○/'.$a.'/*') as $filename){
	if(preg_match('/\.(jpg|png|gif)$/i', $filename)){
		echo('<div><a href="'.$filename.'"><img src="'.$filename.'"></a></div>');
	}
}

同一カテゴリーの記事