Програмерное
Jul. 11th, 2011 01:28 pm![[identity profile]](https://www.dreamwidth.org/img/silk/identity/openid.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Народ, я уже обгуглился, никак не могу разобраться.
Есть кнопка для скачивания файла в виде такого кода
//кнопка
$_array = array('img' => 'button_download.jpg',
'href' => os_href_link ('media/products'.$content_data['content_file']), 'alt' => TEXT_DOWNLOAD,
Однако при нажатии на нее файл (.mp3, если что) открывается браузером и проигрывается вместо того, чтобы скачиваться.
По хорошему-то я понимаю, что нужно куда-то пихать AddType application/octet-stream .mp3, в общем работать с mime-type, но что конкретно и куда?
В .htaccess прописывал, не работает. Помогите, пожалуйста.
Заранее спасибо.
Есть кнопка для скачивания файла в виде такого кода
//кнопка
$_array = array('img' => 'button_download.jpg',
'href' => os_href_link ('media/products'.$content_data['content_file']), 'alt' => TEXT_DOWNLOAD,
Однако при нажатии на нее файл (.mp3, если что) открывается браузером и проигрывается вместо того, чтобы скачиваться.
По хорошему-то я понимаю, что нужно куда-то пихать AddType application/octet-stream .mp3, в общем работать с mime-type, но что конкретно и куда?
В .htaccess прописывал, не работает. Помогите, пожалуйста.
Заранее спасибо.
no subject
Date: 2011-07-11 08:00 am (UTC)no subject
Date: 2011-07-11 08:05 am (UTC)no subject
Date: 2011-07-11 08:00 am (UTC)В нём и ищи, где прописывается MIME-type.
Ещё вот это посмотри: http://php.net/manual/ru/function.header.php (но таки лучше во фреймворке, а то костыль получится).
no subject
Date: 2011-07-11 08:50 am (UTC)no subject
Date: 2011-07-11 08:59 am (UTC)Предположим, что Apache. Где копать?
no subject
Date: 2011-07-11 09:05 am (UTC)В заголовках ответа сервера видно его имя. Если на сервере линукс - скорее всего апач или nginx.
Узнайте имя сервера и погуглите, как его сконфигурировать для правильной отдачи заголовков для mp3.
По-моему вам надо сделать так, чтобы файл шел как attached, если я не ошибаюсь.
Если будете отдавать application/octet-stream без аттачед - браузер будет проигрывать файл.
no subject
Date: 2011-07-11 09:07 am (UTC)In order to force the browser to show SaveAs dialog when clicking a hyperlink you have to include the following header in HTTP response of the file to be downloaded:
Content-Disposition: attachment; filename=
In order to force the browser to show SaveAs dialog when clicking a hyperlink you have to include the following header in HTTP response of the file to be downloaded:
Content-Disposition: attachment; filename=<file name.ext>
Where <file name.ext> is the filename you want to appear in SaveAs dialog (like finances.xls or mortgage.pdf) - without < and > symbols.
You have to keep the following in mind:
The filename should be in US-ASCII charset.
The filename should not have any directory path information specified.
The filename should not be enclosed in double quotes even though most browsers will support it.
Content-Type header should be before Content-Disposition.
Content-Type header should refer to an unknown MIME type (at least until the older browsers go away).
no subject
Date: 2011-07-11 09:09 am (UTC)no subject
Date: 2011-07-11 03:28 pm (UTC)