Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как скачивать файл - русское название с пробелами?
 
 автор: mmodem   (22.03.2012 в 17:47)   письмо автору
 
 

Здравствуйте.
Собственно вопрос в Теме.
Ситуация:
На сервере в папке куча файлов на русском языке с пробелами.
Скрипт выдает на странице ссылки на скачивание.
Браузер (Мозилла, Експлорер) при клике на ссылку выдают ошибку 404.
Как победить проблему?

  Ответить  
 
 автор: cheops   (22.03.2012 в 19:09)   письмо автору
 
   для: mmodem   (22.03.2012 в 17:47)
 

Нужно кодировать имя, например при помощи функции rawurlencode().

  Ответить  
 
 автор: mmodem   (23.03.2012 в 09:25)   письмо автору
 
   для: cheops   (22.03.2012 в 19:09)
 

Странно, имя файла в ссылке преобразовалось, однако скачиваться не хочет.
Причем файл на латинице с пробелами, в той же папке, преобразовался и скачивается, а русский- нет.
Какое может быть решение?

  Ответить  
 
 автор: mmodem   (23.03.2012 в 13:35)   письмо автору
 
   для: mmodem   (23.03.2012 в 09:25)
 

Да, вот еще...
В Мозилле, если мышкой "сохранить объект как..." - сохраняет без проблем, а если кликаешь на ссыку файла - 404 выдает.
В Эхплорере - никакие варианты не проходят.

  Ответить  
 
 автор: alexander95   (22.03.2012 в 22:09)   письмо автору
 
   для: mmodem   (22.03.2012 в 17:47)
 




$file = ("mashka.rar");

header ("Content-Type: application/octet-stream");

header ("Accept-Ranges: bytes");

header ("Content-Length: ".filesize($file)); 

header ("Content-Disposition: attachment; filename=TRUEFILENAME);  

readfile($file);


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

  Ответить  
 
 автор: mmodem   (23.03.2012 в 10:39)   письмо автору
 
   для: alexander95   (22.03.2012 в 22:09)
 

Дело в том, что файлы заливаются по FTP, без занесения в базу, поэтому надо "напрямую" обработать файл. Т.е. как я уже писал - скрипт сканирует папку с файлами и выдает на странице список.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования