Проблемы с воспроизведением FLV, переданного через PHP

#php #actionscript-3 #flv

#php #actionscript-3 #flv

Вопрос:

Я столкнулся со следующей проблемой: я бы хотел, чтобы люди не загружали FLV-файлы с сайта (да, я знаю, что они получат их, если они действительно захотят их в конце концов, не обращайте внимания на это), поэтому я хотел поместить их за пределы моего htdocs и «перенести» их через PHP.

Для этого я использую довольно простой фрагмент кода:

 //Generate $filename here
header('Content-Disposition: filename=video.flv');
header('Content-Type: video/x-flv');
readfile($filename);
  

Это работает отлично, когда я просто вызываю PHP и получаю нужный мне FLV, но как только я передаю это в swf, который должен загружать видео, все перестает работать, и вообще ничего не происходит (я вижу в своих «Инструментах», что браузер действительно загружает все видео, но swf просто не начинает его воспроизводить). Я подозреваю, что это как-то связано с тем, что swf думает «Это не FLV», но я понятия не имею, почему.
Информация заголовка, которая отправляется с переданным файлом, в полном порядке, кстати.

У кого-нибудь есть идеи?

Спасибо!

Комментарии:

1. Если вы не передаете FLV через PHP, какие заголовки возвращает ваш сервер, когда файл запрашивается SWF? Можете ли вы также указать заголовки запроса? Я прошу об этом, потому что я предполагаю, что некоторые заголовки ответа могут отсутствовать, когда вы передаете FLV через свой PHP.

2. Попробуйте закомментировать заголовок Content-Disposition .

3. Спасибо за ввод, странно то, что когда я вызываю исходный файл FLV, заголовки (как запроса, так и ответа) полностью пусты (по крайней мере, это то, что сообщают мне инструменты разработки Chrome). Заголовки для PHP выглядят следующим образом:

4. Принять: * /* Принять-Кодировку: ISO-8859-1, utf-8; q = 0.7,*;q =0.3 Принять-Кодировку: gzip, deflate, sdch Принять-Язык: de-DE, de;q=0.8,en-US;q = 0.6, en;q = 0.4 Подключение: поддерживать Host:www.mysite.com Ссылка: myswf.swf Пользовательский агент: Mozilla / 5.0 (Windows NT 6.0) AppleWebKit /534.24 (KHTML, как Gecko) Chrome / 11.0.696.77 Safari / 534.24

5. и: Подключение: Сохранение содержимого-Расположение:filename=video.flv Тип содержимого: video / x-flv Дата: Вт, 07 июня 2011 11:31:31 GMT Сохранение: тайм-аут = 2, макс = 194 Сервер: Apache Передача-Кодировка: фрагментированный X-Работает наPHP / 5.2.17

Ответ №1:

Просто идея, но, возможно, проигрыватель полагается на Content-Length заголовок, который, похоже, вы не отправляете.

Комментарии:

1. Спасибо за ответ, но, к сожалению, я уже пробовал это, и это вообще не имеет никакого значения. Но, возможно, мне все же следует включить это, чтобы избежать других возможных проблем!