No.5262, No.5261, No.5260, No.5259, No.5258, No.5257, No.5256[7件]
5259です
>>5260
お返事ありがとうございます。
なるほど拡張子と中身のデータとが異なる場合があるんですね…!
そういう状況があることも、拡張子が間違っていても表示してくれることも初めて知りました。
多分それが原因だ…とそわそわしております(直ぐに今確認できないので…)
ほぼ個人と身内用とはいえ、将来的に様々な拡張子を取り扱う可能性があるのでindex.xmlに書き込む方向性でいきつつ、拡張子の誤りを正せるようにと方針が決まりました。
にししさんも>>5261さんもありがとうございます! きっと一人だと辿り着かなかったことなので本当にありがたいことです!
引き続きよろしくお願いいたします。
>>5260
お返事ありがとうございます。
なるほど拡張子と中身のデータとが異なる場合があるんですね…!
そういう状況があることも、拡張子が間違っていても表示してくれることも初めて知りました。
多分それが原因だ…とそわそわしております(直ぐに今確認できないので…)
ほぼ個人と身内用とはいえ、将来的に様々な拡張子を取り扱う可能性があるのでindex.xmlに書き込む方向性でいきつつ、拡張子の誤りを正せるようにと方針が決まりました。
にししさんも>>5261さんもありがとうございます! きっと一人だと辿り着かなかったことなので本当にありがたいことです!
引き続きよろしくお願いいたします。
>>5260
本筋から逸れるところですが、自分の場合はsnapseedというアプリで編集した画像がまさに「ファイル拡張子は .png なのに中身はJPEGデータ」になります。
アルバムアプリやPCの画像ビューアでは通常通り表示されるのでてがろぐを使い始めてエラー表示を見るまで全く気付きませんでした…
横から失礼しました!
本筋から逸れるところですが、自分の場合はsnapseedというアプリで編集した画像がまさに「ファイル拡張子は .png なのに中身はJPEGデータ」になります。
アルバムアプリやPCの画像ビューアでは通常通り表示されるのでてがろぐを使い始めてエラー表示を見るまで全く気付きませんでした…
横から失礼しました!
シューアイスの備蓄は無事に調達できました……!🍨🍨🍨
🍨Re:5259◆JPEGやPNGの縦横サイズが取得できないケースとして、過去には以下のようなファイルがありました。
最近のブラウザも画像加工ソフトも、ファイル拡張子が間違っていても普通に画像を表示してくれるんですね。そのときに知りました。
親切な画像ビューアは、「このファイルは拡張子がjpgですが中身はPNGです。拡張子を変更しますか?」のような感じで訊ねてくれもしましたけども。
てがろぐは、ファイル拡張子を信じてバイナリを読みますので、拡張子が異なる場合には縦横サイズ情報は取得できません。
というわけで、縦横サイズが取得できない場合は、本当に拡張子が正しいのかもご確認下さい。
あと、拡張子が .jpg でも、JPEG 2000 とか Progressive JPEG のような特殊な形式だとバイナリの記録方法が異なるので読めないと思います。(試したことはないんですが。)
まあ何にせよ、画像インデックスファイル(index.xml)には固定的にサイズを記録する方法が用意されていますから、PHP側で正確な値を取得できるなら、その値をindex.xmlに書き込んでしまえば確実ではありますね。
🍨Re:5259◆JPEGやPNGの縦横サイズが取得できないケースとして、過去には以下のようなファイルがありました。
- ファイル拡張子は .png なのに中身はJPEGデータ。
- ファイル拡張子は .jpg なのに中身はPNGデータ。
最近のブラウザも画像加工ソフトも、ファイル拡張子が間違っていても普通に画像を表示してくれるんですね。そのときに知りました。
親切な画像ビューアは、「このファイルは拡張子がjpgですが中身はPNGです。拡張子を変更しますか?」のような感じで訊ねてくれもしましたけども。
てがろぐは、ファイル拡張子を信じてバイナリを読みますので、拡張子が異なる場合には縦横サイズ情報は取得できません。
というわけで、縦横サイズが取得できない場合は、本当に拡張子が正しいのかもご確認下さい。
あと、拡張子が .jpg でも、JPEG 2000 とか Progressive JPEG のような特殊な形式だとバイナリの記録方法が異なるので読めないと思います。(試したことはないんですが。)
まあ何にせよ、画像インデックスファイル(index.xml)には固定的にサイズを記録する方法が用意されていますから、PHP側で正確な値を取得できるなら、その値をindex.xmlに書き込んでしまえば確実ではありますね。
5255です
>>5258
ご回答ありがとうございます。
.jpgと.pngでテストしていたのですがそれでも画像一覧のところで確認しても縦横サイズが取得されないことが多々ありました(再度読み込みをしても)。なので何か管理しているところがあるのかしら、と思った次第でして。(もしかしたら複数画像を加工しての投稿であるからかもです…わかんないんですが)
WebPについては特に今のところ考慮しておりません。しかし自動取得される筈の拡張子でも取得されないことは事実であるので、手動で縦横サイズを登録する方法の方がWebPなど
他の拡張子にも対応できそうだなと思いました。
ご回答ありがとうございます。また色々お尋ねするかもしらませんが、よろしくお願いします
>>5258
ご回答ありがとうございます。
.jpgと.pngでテストしていたのですがそれでも画像一覧のところで確認しても縦横サイズが取得されないことが多々ありました(再度読み込みをしても)。なので何か管理しているところがあるのかしら、と思った次第でして。(もしかしたら複数画像を加工しての投稿であるからかもです…わかんないんですが)
WebPについては特に今のところ考慮しておりません。しかし自動取得される筈の拡張子でも取得されないことは事実であるので、手動で縦横サイズを登録する方法の方がWebPなど
他の拡張子にも対応できそうだなと思いました。
ご回答ありがとうございます。また色々お尋ねするかもしらませんが、よろしくお願いします
シューアイスを食べました。おいしい。そろそろ追加の備蓄を調達せねば……。🍨🍨🍨
🍨Re:5255◆てがろぐ側で縦横サイズを自動取得できる画像形式は、JPEG、GIF、PNG、SVGだけです。WebPやHEICなどの画像の縦横サイズは自動では取得できません。以下、ご質問に回答します。
🍨Re:5256◆コピー&ペーストとかで余計な空白が入ってしまうケースはわりとよくあると思うんですが、それでも今まで発覚しなかったのがちょっと不思議だな……と思いました。(笑) 自分でもかなりの回数でいろいろテストした気がしていたんですけども。^^;
🍨Re:5257◆ご確認ありがとうございます~。(╹◡╹)ノ やはりそこが原因ですね。
🍨Re:5255◆てがろぐ側で縦横サイズを自動取得できる画像形式は、JPEG、GIF、PNG、SVGだけです。WebPやHEICなどの画像の縦横サイズは自動では取得できません。以下、ご質問に回答します。
- てがろぐでは、画像ファイルのバイナリを直接読んで縦横サイズをその都度把握しています(記録はしていません)。その都度調べるのは、画像が(FTP等の外部の手段で)差し替えられた場合に対応するためです。JPEG、GIF、PNGには画像のバイナリに比較的単純な方法で縦横サイズが記録されているのでそこから取得しています。SVGの中身はXMLテキストデータなので属性値から取得しています(省略されていれば取得できませんが)。しかし、WebPやHEICはそこまで単純な方法では分からないので今のところ自動取得の対象外にしています。WebPに関しては画像処理系のライブラリ(Image::Info)を読めば取得できますが、そうすると動作環境を狭めてしまう可能性がありますので避けています。そのうち(OGPリンクと同様に)補助PHP側でなんとかするかもしれません。ただ、PHPでも7.1以降でないとダメっぽいですが。
- 画像管理画面から手動で縦横サイズを登録してみて、その後の画像インデックスファイル(index.xml)を見るとよく分かると思いますが、<fixed>930x620</fixed>のような感じで記録されます。「x」は小文字のエックスです。これも空白等は一切許容されないのでご注意下さい。ここに値を書き込んでおけば、その値が固定的に出力されます。(たとえ自動取得が可能な画像形式であっても、ここに書かれた値の方を採用して出力します。)
🍨Re:5256◆コピー&ペーストとかで余計な空白が入ってしまうケースはわりとよくあると思うんですが、それでも今まで発覚しなかったのがちょっと不思議だな……と思いました。(笑) 自分でもかなりの回数でいろいろテストした気がしていたんですけども。^^;
🍨Re:5257◆ご確認ありがとうございます~。(╹◡╹)ノ やはりそこが原因ですね。