Как вы поддерживаете поиск mp3 при возврате из сценария php? - PullRequest
9 голосов
/ 03 октября 2011

У меня есть mp3 на моем сервере (urls - просто примеры):

http://www.my-server.com/myaudio.mp3

У меня есть php-скрипт на сервере по адресу:

http://www.my-server.com/testmp3.php

, который содержит следующий код(что я получил здесь ):

<?
$file = "myaudio.mp3";

if (file_exists($file)) {
  header('Content-Description: File Transfer');
  header('Content-Type: application/octet-stream');
  header('Content-Disposition: attachment; filename='.basename($file));
  header('Content-Transfer-Encoding: binary');
  header('Expires: 0');
  header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  header('Pragma: public');
  header('Content-Length: ' . filesize($file));
  ob_clean();
  flush();
  readfile($file);
  exit;
}
?> 

Это все, что мне нужно сделать, чтобы имитировать поведение, чтобы оба запроса вели себя одинаково и возвращали одинаковый ответ?Или я что-то упускаю.

Я использую некоторый потоковый код на iOS (здесь не актуально), и оба запроса хорошо воспроизводят аудио, но я не могу правильно искать с помощью запроса php, но могус запросом mp3 напрямую.

Так что, не вдаваясь в подробности о самом приложении, я хотел сначала удалить эту одну переменную.Есть ли что-то, что мне нужно сделать, чтобы убедиться, что с точки зрения другого приложения эти два запроса вернут точно такие же данные?

Спасибо за любой вклад, который вы можете дать мне здесь.

Обновление

Оказывается, мой вопрос действительно должен был гласить: «Как вы поддерживаете поиск mp3 при возврате из сценария php?».

Ответы [ 2 ]

6 голосов
/ 03 октября 2011

Для поддержки поиска вам часто придется поддерживать запрос диапазона.

Из РФЦ: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35

См. Также: Возобновляемая загрузка при использовании PHP для отправки файла?

1 голос
/ 03 октября 2011

Вероятно, лучше справиться с этим с помощью модификации .htaccess, а не с помощью некоторого кода PHP.
Вот ссылка на htaccess , с которой можно начать.

Если у вас есть целый каталог файлов .mp3, который вы хотите отобразить в виде загрузок, а не воспроизводить его в браузере, вы просто измените файл .htaccess в этой папке, включив

AddType application/octet-stream .mp3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...