質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

ブラウザって画像拡張子が違っても表示されますが・・

landy77
landy77

総合スコア1605

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

4回答

0リアクション

0クリップ

363閲覧

投稿2022/08/18 04:24

編集2022/08/20 00:35

10年以上前に作ったWEBプログラムの改修の話が出たのでソースを見ていました。
画像のアップロードで必ず画像ファイルで有ることが前提です。

で、アップロードした画像ファイルが何であれファイル名をアップロードした際のファイル名は使用せず、全て「img01.jpg」のような形で保存していました。
要するに拡張子・MIME等を無視してアップロードされた物が正しく画像であること前提で全て拡張子をjpgとして扱っていた感じです。

多分昔の自分が拡張子が何でも画像の拡張子になっていればブラウザは表示してくれるのでそのような事にしたと思いますが(自分のことですが記憶にない・・)これはどうなんでしょうか?

そもそも画像ファイルでないものは表示されようが無いので問題外ですが、画像であることは間違いない場合、拡張子が違ったところでおそらく今のブラウザなら正しく表示してしまうと思います。

もちろんしっかりやるとすればアップロードしたファイルのMIMEを調べて・・とやることがベストなのはわかりますが、表示自体は問題なくされている場合には気にせずとも良いものでしょうか?

マナー以前の問題ではありますがそうなるとそもそもMIMEと拡張子が一致してなくても画像が表示されるのであれば、拡張子はWindowsで簡易でファイルをチェックする以外に何の意味があるのか?って言う部分も気になったのでいろいろ指摘受けるのを前提で質問してみようと思いました。

よろしくお願いいたします。

追記
情報足らずで申し訳なかったのですが同時でもPHP5.3だったようで、アップロード時にfinfoで調べてありました。
みなさんがご指摘くださった通り、そもそも画像ですらないファイルをアップロードされたら話が変わるので、画像だと確定している前提です。

こちらの管理の仕方ではありますが画像ですとそもそもが形式がいろいろあります。
そこで当時の自分はきっちりファイルの拡張子毎に変更していると処理が増えて面倒なので、アップロードした際のファイル名(拡張子というか)は無視して画像だから全部「.jpg」にしよう・・という事を思ってたみたいだったので、全て同じ拡張子で扱っても表示されないとかは無いのですが、それってどうでしょうか?というのが本来の質問でした。
もちろん何の拡張子だろうがファイルの実体情報?(MIME含めて)がファイルの先頭側にあるのも理解しています。
昔のプログラムを見てて拡張子を決め打ちしてるな・・・これってなんでこうしたのかな?って自分が何を考えてたのかを追っかけてた時に思った話です。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/08/18 11:28依頼された後にこの質問は修正されています

こちらの質問が他のユーザーから「問題・課題が含まれていない質問」という指摘を受けました。

2022/08/18 08:04依頼された後にこの質問は修正されています

こちらの質問が他のユーザーから「プログラミングに関係のない質問」という指摘を受けました。

rtyert

2022/08/18 04:28

拡張子偽装等の問題を孕んでいるのでちゃんと照合したほうがいいです
rtyert

2022/08/18 04:30

というか手抜きでしょ? 照合かけても数行程度 もうプログラマやめたほうがいいんでは?
退会済みユーザー

退会済みユーザー

2022/08/18 04:40

jpegとして扱えるかどうかくらい、ファイルの冒頭を検査するくらいはできると思うのですが。JPEGファイルのデータ構造の解説記事は、例えば:JPEG画像の中をちょっとだけのぞいてみる - Qiita https://qiita.com/kazuaki0213/items/d3e71fe203b4f1d19abc
landy77

2022/08/20 00:15

>rtyent そこまで言われる意味がわかりませんが・・ 普段はPHPなので「finfo」で調べています。 昔の自分のプログラムを見て疑問に思っただけなので。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。