PHP只允许通过页面下载文件

时间:2015-06-04 05:47:23

标签: php

我有一些mp3文件,我只想让付费会员通过页面收听和下载。问题是,如果我这样做

Order deny,allow
Deny from all
Allow from website.com

它成功阻止用户从www.example.com/song/song.mp3

下载

我可以这样做

    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;

但它只允许用户下载。如果我有一个html5播放器允许用户在下载之前流式传输,它会说“音频无法加载,因为服务器或网络出现故障或者因为格式不受支持。”如果我取消htaccess的行,它将能够流。

这是播放器

<video id="player" class="video-js vjs-default-skin" controls preload="auto"
            data-setup="{}">
<source src="song/song.mp3" type='audio/mp3' />
</video>

有什么方法可以让付费用户只从该特定页面下载和流式传输,并限制其他人?感谢

0 个答案:

没有答案