| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 Когда же я ставлю ссылку на этот файл, он не открывается. Браузер говорит: Невозможно отбразить страницу. В чем может быть дело? Правильно ли я делаю? Спасибо! |
| Автор: Secandr 15.6.2004, 21:35 |
| KAT Лучше файлу давать имя в виде номера: 1.pdf, 2.zip, 3.rar - это позволит избежать различных глюков. |
| Автор: KAT 15.6.2004, 21:42 | ||
Это, конечно, было бы хорошо. Но файлы будет закачивать другой человек и хотелось бы уберечь его от возможных глюков. |
| Автор: 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 --- третья фича... и так далее... Тогда и посторонний человек сможет просто продолжить список, присваивая вместо имени - номер Это легче, чем с русскими словами париЦЦа=) |
| Автор: MuToGeN 16.6.2004, 20:52 |
| Если есть задача сохранить оригинальное имя, то такой вариант: в БД хранить оригинальные имена и "серверные", выдавать фаилы скриптом, который будет слать header("Content-Disposition: attachment; filename="Оригинальное имя.pdf"); |