0

我正在尝试使用 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 播放器。

4

1 回答 1

0

尝试使用fread而不是使用readfile。这就是我目前正在做的方式。它可以在我的系统上使用 jwplayer。我用 这个链接作为参考。 这是一些示例代码:

//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'
     });
 });
于 2012-08-29T17:13:50.823 回答