PHPの「mb_detect_encoding」を使って読み込みファイルのエンコード処理
外部ファイル(CSVファイル等)を読み込んでサイト内に表示する際に、保存時の文字コードが…
商品詳細ページや制作実績ページなど、個別ページを自動生成して画像を多用するページを作成する場合、ワードプレス等のCMSを使用して商品登録(画像登録)をできるようにすることが多いのだけれど、CMSを組むと余計な工数(費用)も掛かるし、ご自身でサーバーに触れることが可能なのでFTPで直接アップロードできる方が望ましいという事で簡易的に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)を付与して、ページごとに該当するファイルを呼び出す場合は下記。
指定ディレクトリの直下にパラメータと同名のディレクトリを作成しています。
//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>');
}
}