いつまで経ってもわからない、WEBってやつは・・・(´・ω・`)

【 PHP 】特定のファイル名の画像があったら・・のメモ(*´ω`*)

こんにちわ!

ゆでです(*´ω`*)☆梅雨ですね…洗濯ができなくて泣ける(´;ω;`)<晴れたら即!

さて、下記状況になった時にちょっと調べたのでとりあえずメモっときますw

WordPressにて、「カテゴリー」を追加した場合にカテゴリーの画像に「カテゴリースラッグ」名の画像を表示させたい場合

(´・ω・`)<拡張子を「png」とか指定だったら下記でOK!

<?php
$filepath = 'wp-content/uploads/';//アップロードディレクトリを指定
$catslug = "sample";//カテゴリスラッグ取得は省略(*´ω`*)
$catname = "AAA-category";//カテゴリ名取得は省略(*´ω`*)
$fileimg = $filepath.$catslug.".png";//拡張子「png」指定
if(file_exists($fileimg)) {
  echo '<img src="'.$fileimg.'" alt="'.$catname.'">';//カテゴリ画像
}else {
  echo '<img src="'.$filepath.'noimg.png" alt="no image">';//なしの画像
}
?>

上記でいいのだけど、pngもjpgもgifも入り乱れますがなにか(´・ω・`)?な場合はマイッチングなので、下記☆
※拡張子の違う同名ファイルがない、という前提です(ΦωΦ)

<?php
$filepath = 'wp-content/uploads/';//アップロードディレクトリを指定
$catslug = "sample";//カテゴリスラッグ取得は省略(*´ω`*)
$catname = "AAA-category";//カテゴリ名取得は省略(*´ω`*)
foreach(glob($filepath."{".$catslug.".*}",GLOB_BRACE) as $fileimg){
 if(is_file($fileimg)){
  echo '<img src="'.$fileimg.'" alt="'.$catname.'">';//カテゴリ画像
 }else {
  echo '<img src="'.$filepath.'noimg.png" alt="no image">';//なしの画像
 }
}
?>

globって関数、初めて使いました(´・ω・`)<多分使い方は逆かもw拡張子を指定してファイルを配列に取得して・・って。なので、上記は拡張子異なって複数あった場合マイッチングです(*´ω`*)<えww

 

注意★

ファイルパスは相対です。
(; ・`ω・´)<”/wp-content/uploads/”って最初したら取得できずwwびびった!