Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Русские имена файлов при закачке на сервер


Автор: KAT 15.6.2004, 19:30
Закачиваю файл на сервер и вот что делаю с именем:
$HTTP_POST_FILES['userfile']['name'] = urlencode($HTTP_POST_FILES['userfile']['name']);
Теперь имя, например, выглядит следующим образом:
%B93.%C1%E0%E1%E0%E9%F6%E5%E2+%C8.%C2..pdf
Когда же я ставлю ссылку на этот файл, он не открывается. Браузер говорит: Невозможно отбразить страницу.
В чем может быть дело? Правильно ли я делаю?
Спасибо! rolleyes.gif

Автор: Secandr 15.6.2004, 21:35
KAT Лучше файлу давать имя в виде номера: 1.pdf, 2.zip, 3.rar - это позволит избежать различных глюков.

Автор: KAT 15.6.2004, 21:42
Цитата
KAT Лучше файлу давать имя в виде номера: 1.pdf, 2.zip, 3.rar - это позволит избежать различных глюков.


Это, конечно, было бы хорошо. Но файлы будет закачивать другой человек и хотелось бы уберечь его от возможных глюков.

Автор: MuToGeN 15.6.2004, 22:49
Может, проще было бы переименовывать фаилы именно в 1.pdf итд.?
А чтоб оно нормально воспринималось и в этом варианте - его стоит еще раз за-urlencode()-ить?
И еще - какая это именно ошибка? Т.е. глянь в логи сервера.

Автор: Secandr 16.6.2004, 08:26
KAT
темболее если будет другой человек закачивать он может позаменить существующие файлы, прописать в имя файла символы, которые юникс не понимает, .... Лучше писать имена цифрами. ИМХО.

Автор: Sufius 16.6.2004, 18:24
А почему бы просто не писать русские слова английскими буквами?
Или создать список...
1.pdf --- одна фича....
2.pdf --- другая фича...
3.pdf --- третья фича...
и так далее...
Тогда и посторонний человек сможет просто продолжить список, присваивая вместо имени - номер smile.gif
Это легче, чем с русскими словами париЦЦа=)

Автор: MuToGeN 16.6.2004, 20:52
Если есть задача сохранить оригинальное имя, то такой вариант: в БД хранить оригинальные имена и "серверные", выдавать фаилы скриптом, который будет слать header("Content-Disposition: attachment; filename="Оригинальное имя.pdf");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)