Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将PHP设置为“a”;管道;从其他位置下载?_Php_Apache_.htaccess_Curl_Hosting - Fatal编程技术网

如何将PHP设置为“a”;管道;从其他位置下载?

如何将PHP设置为“a”;管道;从其他位置下载?,php,apache,.htaccess,curl,hosting,Php,Apache,.htaccess,Curl,Hosting,我想设置一个php脚本并将其托管在我的服务器上,这样我就可以从其他位置下载文件,但要使它看起来像是来自我的服务器。可能使用卷曲或htacess。我还希望有一种方法可以让我的服务器处理带宽问题。这有意义吗?这可行吗 --更新 有点像代理,但不需要将文件下载到内存,然后将其发送到客户端 我还希望有一种方法可以让我的服务器处理带宽问题。这可行吗 否。只需将目标url传递给脚本,用file_get_contents()、curl或其他文件函数打开url并回显数据即可。确保将内容类型标题设置为“应用程序/

我想设置一个php脚本并将其托管在我的服务器上,这样我就可以从其他位置下载文件,但要使它看起来像是来自我的服务器。可能使用卷曲或htacess。我还希望有一种方法可以让我的服务器处理带宽问题。这有意义吗?这可行吗

--更新

有点像代理,但不需要将文件下载到内存,然后将其发送到客户端

我还希望有一种方法可以让我的服务器处理带宽问题。这可行吗


否。

只需将目标url传递给脚本,用file_get_contents()、curl或其他文件函数打开url并回显数据即可。确保将内容类型标题设置为“应用程序/八位字节流”,以强制浏览器保存文件而不是显示文件

至于带宽:你必须处理它。如果您的服务器下载了一个文件,它将占用带宽。它甚至会使用它两次,因为它必须接收和发送数据


我不知道你为什么要提到htaccess,因为这与你的问题无关。

我建议你在你的网站上设置一个链接系统,这样可以直接转发到远程文件,这样可以节省带宽,如果有人看到你页面上的链接,它看起来就像来自你的服务器。它仍然会在下载管理器中显示另一个站点,但如果您试图节省带宽,那么付出的代价很小。

谢谢您的帮助。。。我知道我需要做什么,我将使用modxsendfile。它允许您为文件的位置设置外部源,然后允许用户下载文件,而不知道文件的实际位置。

如果不在内存中,信息应该放在哪里?显然,您可以对其进行流式处理—您不需要将下载的所有内容放在一块内存中。下载时,您可以将该响应发送给请求者。但在某一点上,它必须通过您的服务器,这意味着它逐块存储在内存中。我之所以提到htaccess,是因为我想知道是否有一种方法可以使用maybe mod_rewrite使文件“看起来”像是在我的服务器上,但实际上它只是连接到另一个位置。