我有托管在外部网络服务上的文件 - 网址:http://external-service.com/file.flv
此文件只能从我的网络服务的IP下载。 每个访问者都应该可以下载这个文件,但每个访问者的IP地址与我服务器的IP有何关系?
我可以使用CURL但来自CURL的请求将转到服务器,而不是访问者。我无法使用:
echo $response_from_curl;
因为这个文件非常大。我的服务器有max_execution_file - 450秒。这还不够。
我可以使用:
header("Location: http://external-service.com/file.flv");
但是在这个示例中,文件无法下载,因为重定向来自访问者IP,所以它也是个坏主意。
我可以在此示例中隐藏真实用户IP并使用服务器IP从用户浏览器发出请求吗?
也许有人知道如何解决这个问题。
感谢。
答案 0 :(得分:1)
您的服务器必须下载此文件并使用正确的标题显示给用户。
小例子:
<?php
header("Content-type: video/flv");
$file_url = "http://external-service.com/file.flv";
echo file_get_contents($file_url);
?>
我建议使用curl。
卷曲示例:
<?php
header("Content-type: video/flv");
$file_url = "http://external-service.com/file.flv";
$ch = curl_init();
$timeout = 0;
curl_setopt ($ch, CURLOPT_URL, $file_url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_exec($ch);
curl_close($ch);
?>