Служить видеофайлам с PHP для потоковой передачи, которые расположены вне корня документа

Я программирую своего рода проводник/загрузчик файлов, который позволяет пользователю просматривать изображения и видеофайлы без необходимости загружать файл на жесткий диск. Из соображений конфиденциальности и безопасности я сохраняю эти файлы активов вне корня документа. Я могу создавать предварительные просмотры изображений, используя библиотеку GD, однако я не уверен, как я буду использовать флэш-плеер, скажем, файл SWF или FLV для воспроизведения. Есть ли способ, которым PHP может обслуживать временный файл через readfile()?

Это будет работать примерно так: http://example.com/flv_serve.php?file=sample.flv. Затем readfile извлечет $_GET['file'] из каталога ресурсов и выгрузит файл на веб-сервер в виде FLV. Конечно, сначала будет проверено, что человек, обращающийся к flv_serve.php, имеет права на файл сеансом.

Кому-нибудь уже приходилось сталкиваться с подобной проблемой?


person snucky    schedule 19.12.2012    source источник
comment
Ответ GregPK сработал для вас? Если нет, как вы поступили?   -  person jerrygarciuh    schedule 20.03.2015


Ответы (1)


Я не уверен насчет потоковой передачи, но если вы хотите просто вывести файл, я бы просто сделал:

// authentication
header("Content-type: application/x-shockwave-flash");
readfile($filePath);

Я думаю, что это будет транслировать обычный ресурс (изображение, текст и т. д.), но я не уверен, будет ли это работать с Flash и зависит ли это от проигрывателя.

Я сделал что-то подобное, и я уверен, что он хорошо транслировался, но не уверен, была ли какая-то другая черная магия, чтобы получить возможности потоковой передачи (это был довольно большой проект).

Итог: если вы можете передать файл на веб-сервер и воспроизвести его в проигрывателе, он будет работать так же хорошо.

person GregPK    schedule 19.12.2012