- ベストアンサー
PHPで複数のフォルダ内の画像数と表示方法を教えてください
- PHPを使用して、複数のフォルダにある画像の数と表示方法を知りたい。
- フォルダごとに画像の数を数え、表示する方法を教えてほしい。
- フォルダ「1」にある画像をクリックしたら、「5枚中1枚目」と表示したい。フォルダ「2」の画像をクリックしたら、「7枚中3枚目」と表示したい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
希望する複数のフォルダのパスの入手方法と クリックされた画像のファイル名の入手方法が 質問の内容だけでは分からないので、 それらは事前に変数に入っているものと仮定します。 <?php $folder[0]='フォルダ「1」のパス'; $folder[1]='フォルダ「2」のパス'; $folder[2]='フォルダ「3」のパス'; $fname='image.jpg';//クリックされたファイル名 //フォルダ毎の画像ファイルの抽出 foreach($folder as $k=>$v){ $d = dir($v); while (false !== ($entry = $d->read())) if (eregi('\.(jpg|jpeg|gif|png)$',$entry)) $f[$k][]=$entry; $d->close(); } //画像の探索 foreach($f as $k=>$v){ $no=array_search($fname,$v); if ($no) break; } //結果の表示 print count($v).'枚中'.$no.'枚目'; ?>
その他の回答 (1)
- mpx
- ベストアンサー率71% (149/209)
一点修正 $noは0から数えていますので 1から数えたい場合は、$noに1を足しておいてください >> PHPは別の場所に記述した上で >> <p><?=$v?>枚中<?=$no?>枚目</p> それでも構いませんし、他にもいろいろな方法が有ります。 方法1 print "<p>".count($v).'枚中'.($no+1).'枚目</p>'; 方法2 $res=count($v).'枚中'.($no+1).'枚目'; としておいて 好きなところで <p><?=$res ?></p> 他にもいろいろ有るでしょうが、お好みで組めばよいでしょう
お礼
ご回答ありがとうござました! いけました!!!! 丁寧な説明と具体案に本当に感謝いたします。 お時間を頂いてありがとうございました!
補足
ご回答いただいてありがとうございます!!! これでなんとか、フォルダは読み取れそうです! ただ初心者な質問でまったく申し訳ないのですが、 <p> </p> の中に結果の表示をしようと思った場合 PHPは別の場所に記述した上で <p><?=$v?>枚中<?=$no?>枚目</p> という風にすればいいのでしょうか? ご回答いただけると幸いです!!