我正在尝试使用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播放器。
答案 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'
});
});