プロが教える店舗&オフィスのセキュリティ対策術

お世話になります

拡張子を省略して画像を表示させることは可能でしょうか?
下記の様なimgタグで$idがファイル名の場合で、拡張子が不明です

<img src="/gazou/1/$id" />


◆例
/gazou/1/1 → /gazou/1/1.gif
/gazou/1/2 → /gazou/1/2.jpg
/gazou/1/3 → /gazou/1/3.png

htaccessとかだとは、思うのですが行き詰まってしまいました

宜しくお願い致します

A 回答 (3件)

Multiviews機能でできないかな?と思ったけど、よくわかりませんでした。


できそうな気がするけど・・・




今、ささっと思いつく方法は・・・


---------------------------------------------
.htaccess
RewriteEngine On
RewriteRule ^/gazou/1/([1-9][0-9]*)$ is_img.php?n=$1 [L,QSA]

---------------------------------------------

mod_rewrite でサーバサイドプログラムに数字を引数として渡して(例ではPHP)
プログラム側で画像の有無を判別して
heder location して、その存在する画像に誘導
    • good
    • 0

.gifなのか.pngなのか.jpgなのか、


拡張子が不明なら書き様がありません。

1のときは.gif、2の時は.jpgと決まっているのなら、最初から1.gif、2.jpgと書けばいいです。
    • good
    • 0

ウエブでは、拡張子はまったく関係ない。


 頭がWindowsに汚染されている。
 Windows以外は、別の方法でファイルタイプ、開くアプリケーションを指定します。
  例えばこのフォルダーにあるファイルはmime-typeがimage/gifであるとか・・

サーバーから送られてくるHTTP応答ヘッダに従います。
Content-type:image/jpeg;
だと、jpeg画像として処理します。

 CGIだと思いますが、もちろん本文は、そのフォーマットの画像データでないとなりません。
・CGIで画像をチェックしてフォーマットを調べる。
  先頭の数文字を調べると分かる。
・ファイルの長さも返しておく
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!