私はCakePHP 2.0.4、PHP 5.3.1、Apache 2.2.14を使用しています。CakePHP名前に特殊文字を含む画像が表示されない
たとえば、ファイル名はF#7m7〜1.gifです。本当に存在し、パスとファイル名は正しいです。
は、印刷HTMLタグの前に、私は()でurlencodeを使用して、それをエンコードし、タグは次のようになります:
<img src="/chord/img/chords/F%2523m7~1.gif" alt="F#m7">
しかし、イメージがロードされていません。
私はまたブラウザに直接ロードしようとしましたが、http://myapp.localhost/chord/img/chords/F%2523m7~1.gifでも、私には "Missing Controller Error:Chord.ImgControllerが見つかりませんでした"というメッセージが表示されます。
すべてが〜1.gifとしてファイルで正常に動作しますが、それは〜1.gif、Bは、(7)〜1.gifなど
Everthingは、[OK]を働いていたなどのF#mとしてファイル名でbrokes純粋なPHPコードバージョンです。今、CakePHPでは動作しません。
誰かが手がかりを持っていますか?
最も簡単な解決策は、異常な文字を含むファイル名を許可しないことです。 [a-zA-Z0-9 \ ._-]に固執してください。 – GordonM
GordonM、私はあなたが正しいと信じています。しかし、それは純粋なPHPバージョンで働いていたので、私はそれがCakePHPでも動作することが可能であることを認識しました。 ところで、画像ファイル名が自動的に生成され、その後、エンジンをリファクタリングしてこのように生成することができます。しかし、私は本当になぜうまくいかないのかを知りたい。私が途中であきらめると、私はあなたに知らせるでしょう! hehe – colares
お返事ありがとう、皆さん。私は今度はフレンドリーなイメージ(そのスクリプト)の名前をやり直すことにしました。記録のために、私はこの問題についてこの素晴らしいリンクを見つけました:http://playground.zaplabs.com/sandbox/qa/stackexchange/serverfault/295664/。しかし、私はそれが私の状況にとって必要不可欠なオーバーヘッドだと私は信じています。 – colares