-1

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

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

3 回答 3

1

试图“隐藏”文件名是没有意义的。如果您希望用户可以观看视频,则用户需要一些可以访问该文件的 URL。根据定义,该 URL 将始终对用户公开且可见,否则无法用于访问任何内容。该 URL 究竟是什么完全取决于您。它可以是文件的真实名称,也可以是您以某种方式与服务器上的文件相关联的某个随机 ID。对用户来说并不重要。重要的是在访问 URL 时提供所请求的数据。

如果您只想向特定用户显示该文件,则您正在寻找一个授权系统,而不是为了混淆 URL。

于 2013-07-08T06:48:38.867 回答
1

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

于 2013-07-08T06:34:40.087 回答
0

通过这种方式文件未找到错误将发生尝试做下面给出的事情。

您可以做一件事,创建一个以字节为单位读取视频文件的函数 n 返回播放器,只需将视频名称 n 路径传递给函数 n 播放视频,无需任何 url,如流式传输

于 2013-07-08T06:37:04.533 回答