2010-01-14 50 views
1

我想要设置一个php脚本并将其托管在我的服务器上,该服务器将允许我从其他位置下载文件,但使其看起来像来自我的服务器。也许使用curl或htacess。另外我希望能有办法让我的服务器处理带宽。那有意义吗?这是可行的吗?如何将PHP设置为从其他位置下载的“管道”?

- 更新

有点像一个代理,但没有文件下载到内存中,然后将其发送给客户端。

+1

信息应该放在哪里,如果没有放入内存?显然你可以流式传输 - 你不需要把你下载的所有内容都放到一块内存中。在下载时,您可以将该响应发送给请求者。 。 。 。但是在某些时候它必须通过你的服务器,这意味着它被存储在内存中。 – Cheeso 2010-01-14 01:42:50

回答

2

号你可以通过传递的目标URL给你的脚本做到这一点,打开与file_get_contents()函数,卷曲或其他文件功能的URL和回声数据。确保将Content-Type头设置为“application/octet-stream”,以强制浏览器保存文件而不是显示它。

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

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

+0

我之所以提到htaccess,是因为我想知道是否有可能使用mod_rewrite来使其“看起来”像文件在我的服务器上,但它真的只是连接到另一个位置。 – will 2010-01-14 06:03:33

0

此外,我希望能有一种方法来解决让我的服务器处理带宽。这是可行的吗?

0

我建议在您的网站上设置一个链接系统,例如http://example.com/download.php?id=12,然后直接转发到远程文件,这样您可以节省带宽,并且如果有人查看网页上的链接,它会看起来像它来自你的服务器。它仍然会在下载管理器中显示其他网站,但如果您尝试节省带宽,则需要支付一小笔费用。

0

感谢您的帮助......我想清楚我需要做什么,我要使用mod_xsendfile。它允许您为文件所在的位置设置外部源,然后让用户下载文件而不知道文件实际位于何处。

相关问题