мне действительно нужно указать тип содержимого php head?

У меня на сервере есть аудиоформаты .mp3 и .pcm, как мне установить тип содержимого заголовка php, если я не знаю, какой тип запросил пользователь?


person Blake    schedule 15.11.2012    source источник
comment
Как могло не знать, какой тип запросил пользователь?   -  person Alvin Wong    schedule 15.11.2012
comment
я МОГУ знать, но в моей системе запрос пользователя не содержит информации об аудиоформате, мне нужно получить эту информацию из базы данных, поэтому я ищу, есть ли простой способ.   -  person Blake    schedule 15.11.2012


Ответы (4)


Я думаю, вы можете просто использовать «Application/octet-stream» для любого типа двоичного формата файла.

person Jan.    schedule 15.11.2012

Да, вы должны .. вы можете использовать mime_content_type для обнаружения MIME Content-type для файла упростит процесс в вашем заголовке

Пример

header(sprintf('Content-type: %s',mime_content_type($filename)));
person Baba    schedule 15.11.2012
comment
Почему бы не использовать простую конкатенацию строк? header('Content-type: .mime_content_type($filename)); - person Alvin Wong; 15.11.2012

Когда вы говорите, что установили заголовок, я думаю, что вы переписываете свои .mp3 и .pcm в PHP-Script.

В этом случае вы должны переписать его с расширением файла. Затем вы можете проверить расширение в переменной $_GET.

if(strpos('.mp3', $_GET['filename']) !== false) {
   header('Content-Disposition: inline;filename="test.mp3"');
}

if(strpos('.pcm', $_GET['filename']) !== false) {
   header("Content-type: application/octet-stream;");
}

Данные PCM представляют собой RAW-данные, поэтому я думаю, что вы можете использовать octet-stream или классное решение от Baba.

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

Вот еще одно сообщение об этой проблеме: Вывод mp3 с помощью php

person René Höhle    schedule 15.11.2012
comment
Что, если $_GET['filename'] = "a.mp3.pcm"? - person Alvin Wong; 15.11.2012

На моем сайте я использовал этот тип заголовка. Я предлагаю этот.

Пример

заголовок («тип содержимого: текст/xml; набор символов = utf-8; набор символов = окна-1256»);

person Rithu Psks    schedule 15.11.2012