Я использую 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">
Но изображение не загружается. ('Chord' является плагином CakePHP)
Я также попытался загрузить его непосредственно в браузере, http://myapp.localhost/chord/img/chords/F%2523m7~1.gif, но я получаю это: «Отсутствует ошибка контроллера: Chord.ImgController не найден».
Все отлично работает с файлом в качестве ~ 1.gif, но с именами файлов из файлов нарушает такие как F # м ~ 1.gif, B (7) ~ 1.gif т.д.
Everthing работает нормально в чистой PHP-кодированной версии. Теперь он не работает на CakePHP.
Есть ли у кого-нибудь ключи?
Простейшим решением является просто запретить имена файлов с необычными символами. Лучше всего придерживаться [a-zA-Z0-9 \ ._-] – GordonM
GordonM, я считаю, что вы правы. Но так как это работало в чистой версии php, я понял, что можно работать и в CakePHP. Кстати, имя файла изображений автоматически генерируется, тогда я могу реорганизовать движок для генерации этого способа. Но я действительно хочу знать, почему просто не работает. Если я откажусь от пути, я дам вам знать! hehe – colares
Ну, спасибо за ответ, ребята. Я решил повторить название изображений (его сценарий), дружелюбный на этот раз. Для записи я нашел эту приятную ссылку по этой проблеме: http://playground.zaplabs.com/sandbox/qa/stackexchange/serverfault/295664/. Но я считаю, что это лишние накладные расходы для моей ситуации. – colares