Отдача роликов во флеш плеер через PHP, правильно ли?

Ilekor

Профессор
Регистрация
8 Май 2009
Сообщения
147
Реакции
35
Народ, нужна ваша помощь. Пишу скрипт для защиты прямых ссылок на видео, что бы не тырили видео файлы на свои сайты.

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

сначала я проверяю, наш ли это пользователь смотрит или с другого сайта и если файл существует тогда отдаем пользователю фильм, а иначе отдаем рекламный ролик. Проверки я не выкладывал так как не это важно. А важна сама отдача ролика в плеер.
PHP:
$file = "papka_video/".$flv;
$file_real = $file;
            $extension = strtolower(substr(strrchr($file, "."), 1));
            switch($extension){
                case "flv": $type = "flv-application/octet-stream"; break;
                case "mp4": $type = "video/mp4"; break;
                default: $type = "application/force-download"; break;
            }
// Fix IE bug [0]
$header_file = (strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE')) ? preg_replace('/\./', '%2e', $file, substr_count($file, '.') - 1) : $file;
// Prepare headers
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public", false);
header("Content-Description: File Transfer");
header("Content-Type: " . $type);
header("Accept-Ranges: bytes");
header("Content-Disposition: attachment; filename=\"video.flv\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($file_real));
// Send file for download
if ($stream = fopen($file_real, 'rb')){
while(!feof($stream) && connection_status() == 0){
//reset time limit for big files
set_time_limit(0);
print(fread($stream,1024*8));
flush();
}
fclose($stream);
}
 
самопись какая-то? Во всех движках через лайти реализовано.
 
Назад
Сверху