|
|
|
| Вобщем у меня есть mp3 архив, и когда пользователь выбирает нужную песню из этого архива, чтобы скачать, то скачка не идет напрямую с диска на сервере. (так специально задумано)
Для скачки, был сделан спец. скрипт ("downloader.php"), через который и идет скачка.
Скрипт получает ID файла через параметр пересылаемый по $_GET, ищет название файла в базе, и если находит, выводит header для скачки. (в архиве только mp3 файлы)
Выглядит он (header) так:
Header("Content-type: audio/mp3");
Header("Content-Disposition: attachment; filename=".$dwnname);
...здесь следует вывод самого файла, посредством echo :) ....
|
$dwnname - это имя файла, полученного из базы по ID. (например: Evanescence - Bring to me live.mp3)
Так вот, существует такая проблема, что у некоторых, при скачке, файл сохраняется без расширения mp3, как думаете, в чем может быть проблема (понятно что с браузером), что можно сделать, чтобы файлы у всех сохранялись в mp3.
Если что, то вот этот mp3 "архив": http://lineradio.ru/lineradio/?list=3 | |
|
|
|
|
|
|
|
для: Dr Lines
(04.10.2008 в 08:13)
| | Имя-то нужно в кавычки брать как минимум. | |
|
|
|
|
|
|
|
для: Trianon
(04.10.2008 в 09:55)
| | Про какие кавычки вы говорите.?
Вы предлагаете написать так?
filename='".$dwnname."'");
|
| |
|
|
|
|
|
|
|
для: Dr Lines
(04.10.2008 в 11:57)
| | Да, так как в имени файла у вас используются пробелы. | |
|
|
|
|
|
|
|
для: cheops
(04.10.2008 в 12:22)
| | Выход один - заменить пробелы чем-то.
Если имя файла так закавычить, то при скачивании он сохраняется с этими кавычками.
вот так : 'artist - track.mp3' | |
|
|
|
|
|
|
|
для: Dr Lines
(04.10.2008 в 12:40)
| | Попробуйте пробел заменить на последовательность %20 - браузер теоретически должен автоматически преобразовать её в пробел. | |
|
|
|
|
|
|
|
для: Dr Lines
(04.10.2008 в 08:13)
| | А mp3, это случайно не audio/mpeg ? | |
|
|
|
|
|
|
|
для: sim5
(04.10.2008 в 10:34)
| | Да, спасибо за заметку, mpeg - правильнее, но и mp3 тоже, как видимо, работает. Только что mpeg, что mp3, роли в данной проблеме не играет.
Вобщем, проблема была решена заменой пробельных символов на знак подчеркивания в имени скачиваемого файла. | |
|
|
|
|
|
|
|
для: Dr Lines
(04.10.2008 в 11:51)
| | Хотя я нашел разницу между mpeg и mp3
При использовании mpeg файл открывается прямо в браузере на вопроизведение, используя при этом втроенный медиа проигрыватель. (например quick time)
A при использовании mp3 файл открывается как раз на скачивание, то есть выводится диалоговое окно для сохранения на диск, или открытия . | |
|
|
|
|
|
|
|
для: Dr Lines
(04.10.2008 в 12:44)
| | Думаю нельзя так утверждать, т.к. браузеры бывают разные, встроеные проигрователи тем более =)
Опера у меня, например, постоянно по разному относится к WMV, -то открывает в окне, то запускает MPC - черт ее разберет =))
По теме - я использовал в таком случае mod_rewrite, например перенаправлял запроы
download/name_of_track.mp3
на
download.php?name=name_of_track.mp3
скрипт делал что нужно без лишних заголовков, а браузер однозначно получал имя файла.
Почему? Все по тому же - не все браузеры почему то воспринимают подобные заголовки.
Например, наровят сохранить с расширением .php, или же с вместо имя - что то вроде download.mp3.. | |
|
|
|