No.5262, No.5261, No.5260, No.5259, No.[4件]
➡ 2025年6月21日(土) 00時43分 〔26時間前〕 New! No.5261 ✎ !
本筋から逸れるところですが、自分の場合はsnapseedというアプリで編集した画像がまさに「ファイル拡張子は .png なのに中身はJPEGデータ」になります。
アルバムアプリやPCの画像ビューアでは通常通り表示されるのでてがろぐを使い始めてエラー表示を見るまで全く気付きませんでした…
横から失礼しました!
➡ 2025年6月20日(金) 20時22分 〔31時間前〕 New! 回答/返信 No.5260 ✎ !
🍨Re:5259◆JPEGやPNGの縦横サイズが取得できないケースとして、過去には以下のようなファイルがありました。
- ファイル拡張子は .png なのに中身はJPEGデータ。
- ファイル拡張子は .jpg なのに中身はPNGデータ。
最近のブラウザも画像加工ソフトも、ファイル拡張子が間違っていても普通に画像を表示してくれるんですね。そのときに知りました。
親切な画像ビューアは、「このファイルは拡張子がjpgですが中身はPNGです。拡張子を変更しますか?」のような感じで訊ねてくれもしましたけども。
てがろぐは、ファイル拡張子を信じてバイナリを読みますので、拡張子が異なる場合には縦横サイズ情報は取得できません。
というわけで、縦横サイズが取得できない場合は、本当に拡張子が正しいのかもご確認下さい。
あと、拡張子が .jpg でも、JPEG 2000 とか Progressive JPEG のような特殊な形式だとバイナリの記録方法が異なるので読めないと思います。(試したことはないんですが。)
まあ何にせよ、画像インデックスファイル(index.xml)には固定的にサイズを記録する方法が用意されていますから、PHP側で正確な値を取得できるなら、その値をindex.xmlに書き込んでしまえば確実ではありますね。
➡ 2025年6月20日(金) 09時01分 〔1日前〕 New! No.5259 ✎ !
>>5258
ご回答ありがとうございます。
.jpgと.pngでテストしていたのですがそれでも画像一覧のところで確認しても縦横サイズが取得されないことが多々ありました(再度読み込みをしても)。なので何か管理しているところがあるのかしら、と思った次第でして。(もしかしたら複数画像を加工しての投稿であるからかもです…わかんないんですが)
WebPについては特に今のところ考慮しておりません。しかし自動取得される筈の拡張子でも取得されないことは事実であるので、手動で縦横サイズを登録する方法の方がWebPなど
他の拡張子にも対応できそうだなと思いました。
ご回答ありがとうございます。また色々お尋ねするかもしらませんが、よろしくお願いします
>>5260
お返事ありがとうございます。
なるほど拡張子と中身のデータとが異なる場合があるんですね…!
そういう状況があることも、拡張子が間違っていても表示してくれることも初めて知りました。
多分それが原因だ…とそわそわしております(直ぐに今確認できないので…)
ほぼ個人と身内用とはいえ、将来的に様々な拡張子を取り扱う可能性があるのでindex.xmlに書き込む方向性でいきつつ、拡張子の誤りを正せるようにと方針が決まりました。
にししさんも>>5261さんもありがとうございます! きっと一人だと辿り着かなかったことなので本当にありがたいことです!
引き続きよろしくお願いいたします。