我正在考虑一个概念,即如何在不暴露真实路径/URL 的情况下提供文件/视频。我的想法是类似于数据库表,它由散列和等效的 url 组成,如下所示:
编号:1 哈希:ABCDEF 真实网址:http://site.tld/folders/videos/myvideo.mp4
然后,视频链接将被 php 隐藏,如下所示:
http://site.tld/stream.php?video=ABCDEF
所以每当我调用上面的 url 时,它都会从数据库中的 realurl 提供文件,而不会将 realurl 暴露给查看者,因为他们正在通过 stream.php 流式传输文件/视频
如有任何帮助,我们将不胜感激。
编辑:这是我到目前为止所做的,但仍然无法正常工作。我想知道我是否走对了路。
<?php
$video = $_GET['video'];
$username = "username";
$password = "xxxxxxxxxxx";
$hostname = "localhost";
$database = "stream";
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
$selected = mysql_select_db($database,$dbhandle)
or die("Could not select $database");
$path = mysql_query("SELECT `realurl` FROM `stream` WHERE `hash`=’$video")
or die(mysql_error());
readfile($path);
mysql_close($dbhandle);
?>
最佳答案
您的解决方案会奏效。
假设您的 URL 是永久性的,请确保备份您的数据库,以便在崩溃或数据丢失的情况下,您能够将您的动态 URL 重新指向正确的视频文件。
关于php - 通过 php 和 mysql 隐藏真实视频/文件 URL 并使用查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28760392/