我需要从网站上保护我的视频文件。所以,我需要解码我的文件名。我使用了以下代码。但视频没有播放。
<?php
$str1 = 'movie.mp4';
$enc1 = base64_encode($str1);
$str2 = 'movie.swf';
$enc2 = base64_encode($str2);
$str3 = 'movie.ogg';
$enc3 = base64_encode($str3);
$str4 = 'movie.webm';
$enc4 = base64_encode($str4);
echo "<video width='320' height='240' controls>
<source src='".$enc1."' type='video/mp4'>
<source src='".$enc3."' type='video/ogg'>
<source src='".$enc4."' type='video/webm'>
<object data='".$enc1."' width='320' height='240'>
<embed src='".$enc2."' width='320' height='240'>
</object></video> ";
?>
答案 0 :(得分:1)
视频未播放的原因是因为您在src中指定的文件不存在,因为它是编码的字符串而不是实际的文件名。
答案 1 :(得分:1)
试图“隐藏”文件名毫无意义。如果您希望用户可以观看视频,则用户需要一些可以访问该文件的URL。根据定义,URL始终是公共的并且对用户可见,否则它不能用于访问任何内容。这个URL到底完全取决于你。它可以是文件的真实名称,也可以是某种与服务器上的文件关联的随机ID。对用户来说无关紧要。重要的是在访问URL时提供所请求的数据。
如果您只想向特定用户显示该文件,那么您正在寻找授权系统,而不是为了混淆URL。
答案 2 :(得分:0)
通过这种方式,将发现文件未找到错误,尝试执行下面给出的操作。
你可以做一件事做一个以字节为单位读取视频文件的功能n返回播放器只需将视频名称n路径传递给功能n播放视频而无需像流媒体那样的网址