• php防止视频资源被下载


    假如资源地址  : http://xxx.com/videoData/xxx.mp4   即可实现播放;

    detail.html模板内容

    <video controls="controls" autoplay="autoplay">
    <source type="video/ogg" src="xxx.com/goVideo.php?video=1" /><!--这样的地址他们就醉了吧,真实地主保护住了 而且每次进入详情页播放完了,重新进入detail链接方法中,才能播放 -->
    Your browser does not support the video tag.
    </video>
     detail.php控制层内容

    // 先进入详情页
    publicfunction detail(){
    $_SESSION['token'] = md5("xxx"); //做一个token 用于失效方案
    //进入到详情页
    }
    goVideo.php代码如下

    /**
    +----------------------------------------------------------
    * 生成html video 播放地址
    +----------------------------------------------------------
    * @access public
    +----------------------------------------------------------
    */
    public function goVideo()
    {
    $vid = (int)$_GET['videoId']; //数据库存放的资源id
    $data = $this->getInfo($vid); //通过vid 获取 数据库存放的真实资源地址
    if($_SESSION["token"]){
    unset($_SESSION["token"]); //删除token,保证每次只能播放一次

    //页面直接输出视频
    $filePath=$data['URL'];
    ini_set('memory_limit', '512M');
    header("Pragma: public");
    header("Expires: 0");
    header("Content-Type: application/octet-stream"); //文件mime类型
    //header("Content-Disposition: attachment; filename=video11.mp4;" ); //文件名$filename
    //header("Content-Length: 83995"); //文件大小$fsize
    ob_clean();
    flush();
    //ob_end_clean();
    @readfile($filePath);
    }
    }
     
    ————————————————
    版权声明:本文为CSDN博主「qq_41211900」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_41211900/article/details/82427860

  • 相关阅读:
    DAO层的作用
    JSP+DAO中servlet的作用
    Linux常用命令
    数据结构与算法之动态规划
    JVM之垃圾回收机制
    单例模式详解
    线程池基础知识
    解决Spring MVC Controller中输出中文出现的乱码问题
    LinkedList与ArrayList的get(int index)方法区别
    黄清山 | 2021软件代码开发技术作业五 | 代码开发、测试及发布
  • 原文地址:https://www.cnblogs.com/huangcong/p/12420883.html
Copyright © 2020-2023  润新知