こんにちは。エンジニアモードの山川まりもです。
サイトの更新をもっとちゃんとやろうと思って、iPadで描いた絵をすぐにサイトに上げられるよう、Jetpackアプリを入れたのが、この問題が発生したきっかけです。
そこで、なんかメディア欄の表示が変だったので、色々試して原因を調査してみました。
せっかくなので、今後誰かが参照できればと思って記事にしました。
目次
iPad版Jetpackアプリで発生した問題
おわかりいただけるでしょうか。
なんか画像が見つかりません系っぽい項目が、ちょいちょい混じっています。
それにわたしは、ファイル名をつけるときは「img1」とか「img_001」とか、分類と連番を並べるように命名する癖があります。
「8.png」なんていうファイル名は普段つけないのです。
だから、「なにこれ??」と思いました。
これでは、iPadからサイトを更新するのに支障があります。
これは今後も続くと困るので、原因と対策を考えました。
可能性として考えたこと
PHPバージョンアップ作業でデータが破損した
実はつい最近、サイトのPHPを7.1から7.4に変更する作業をしました。
その作業の中で、失敗した箇所がある、あるいはアップデートによって既存の箇所がエラーになってしまった可能性を、真っ先に考えました。
→ですが、ブラウザからは問題なく見れているので、PHPのバージョンは今回は関係なさそうです。
PNG形式が表示されない
今回エラーになっているファイルの拡張子がすべてPNGだったので、PNGのみ表示されないのかな?と考えました。
→PNGでも表示されているファイルがあったので、拡張子由来の問題ではなさそうです。
iPad版Jetpackにのみ既知の問題がある
「iPad Jetpack 画像 エラー」等で検索しましたが、それらしい問題は見つかりませんでした。
少なくとも、開発系のサイトでこの問題を指摘している人は、いないようです。
→特に指摘されていないだけで、可能性はあると思いました。
文字化け
さっきもちょっと書きましたが、わたしはファイル名をつけるときは「img1」とか「img_001」とか命名するので、「8.png」というファイル名はつけません。
「8.png」以前の文字列が何かしらの理由で消えたか文字化けしたかという可能性を考えました。
→これも、可能性はありそうです。
ブラウザやAndroid版アプリの挙動を確認してみた
問題の切り分けのため、他の環境ではどういう動きをしているのかを確認してみます。
iPadのブラウザ(Safari)
まず、iPadのブラウザ(Safari)で編集画面にアクセスしたとき。
エラー表示はなく、正常にメディアのサムネイルが表示されていますね。
サムネイルをタップして、メディア詳細画面を見てみましょう。
Jetpackではエラーになっていた画像ファイルですが、ブラウザからは、正常に開くことができます。
このファイルは「コミック8.png」というファイル名ですね。
AndroidのJetpackアプリ
続いて、AndroidのJetpackアプリ。
こちらはブラウザ同様、メディアが正常にサムネイル表示されています。
メディア詳細画面を開いたら、どうでしょうか。
メディア詳細画面、開けますね。
特に問題はなさそうですが・・・・
・・・・?
←
お前お前お前!!!!!!!!!
←
さっきブラウザで見たときは「コミック8.png」だったじゃん!!!!
「コミック」の文字どこにやった!!!!!!
結論
この事象の原因
Jetpackアプリの挙動が、
- Jetpackアプリ上では、半角文字のみが、ファイル名に表示される
- Android版では、(何故かわからんが)メディア一覧には表示される
- iPad版では、メディア一覧にも表示されない
という状態のようです。(2023/03/09現在)
いま出来る対策
プログラミング初歩ルールですが、わたしもうっかり気が付かなかったので、あらためて。
インターネット上でアクセスできるファイル名に、全角文字やスペースを使わない!!
インターネット上のファイルに限らず、OSが原因で発生するエラーの結構な量が、ファイル名やアドレスに全角文字やスペースを含んでいるために発生しています!
ファイル保存するときは、ファイル名に気をつけましょう。
(デフォルトで「New 1」などの半角スペースを入れてくるアプリケーションがあるけど、トラブルの温床なのでやめてほしい・・・!)
一応、事象を報告したので、今後改修が入るかもしれないし、入らないかもしれないです。
入るといいな。
以上、どなたかの参考になれば幸いです。