使用php readfile下载flash视频

时间:2012-08-04 09:27:09

标签: php flash readfile

我正在尝试使用PHP的readfile()函数将flv视频下载到flash播放器,使用此功能我可以隐藏文件的位置。我试过这些代码,但jw播放器不起作用,文件可以单独下载,但它不能与播放器一起使用。

<?php

$file = '/vid/myvideo.flv';
header('Content-Description: File Transfer');
header('Content-Type: video/x-flv');
header("Cache-Control: no-cache");
header('Content-Disposition: attachment; filename=myvideo.flv' );
header("Pragma: no-cache");
header('Content-length: '.filesize($file));

flush();
@readfile($file) or die("File not found.");
?>

当我转移.swf它工作文件,但文件的路径是可见的。

是否可以使用readfile()函数将flv文件下载到flash播放器。

1 个答案:

答案 0 :(得分:0)

请尝试使用 fread ,而不是使用 readfile 。这就是我目前正在这样做的方式。它适用于我的jwplayer系统。我使用this link作为参考。

这是一些示例代码:     

//create the header
header("Content-Type: video/x-flv");
header('Content-Length: ' . filesize($file));
//open the file
$fh = fopen($file, "rb");
ob_end_clean();
//start sending the file
while (!feof($fh)) {
    print(fread($fh, 8192));
}
//the file has been completely sent. close the file.
fclose($fh);

?>

然后当你创建你的jwplayer时,这里是代码。

$(document).ready(function(){
     jwplayer("mediaplayer").setup({
          flashplayer: "player.swf", 
          file: "/getFlv.php", //for this example, getFlv.php is located at www.domain.com/getFlv.php
          provider:'http'
     });
 });