每个请求都应包含服务器IP

时间:2015-03-28 22:21:44

标签: php

我有托管在外部网络服务上的文件 - 网址: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从用户浏览器发出请求吗?

也许有人知道如何解决这个问题。

感谢。

1 个答案:

答案 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);
?>