在源链接中隐藏文件名


Hide File Name in source link

我需要从网站上保护我的视频文件。所以,我需要解码我的文件名。我使用了以下代码。但视频没有播放。

    <?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> ";
?>

视频未播放的原因是您在src中指定的文件不存在,因为它是编码的字符串,而不是实际的文件名。

试图"隐藏"文件名是毫无意义的。如果你想让用户观看视频,用户需要一些可以访问文件的URL。根据定义,URL将始终是公共的,并且对用户可见,否则它不能用于访问任何内容。这个网址到底是什么完全取决于你。它可以是文件的真实名称,也可以是您以某种方式与服务器上的文件关联的某个随机id。这对用户来说并不重要。重要的是,当访问URL时,请求的数据会被提供。

如果你想只向特定用户显示文件,你需要一个授权系统,而不是混淆URL。

通过这种方式,将出现找不到文件的错误,请尝试执行下面给出的操作。

你可以做一件事,让一个以字节为单位读取视频文件的函数返回给播放器,只需将视频名称n路径传递给函数n播放视频,而不需要任何url,比如流式