PHP:提供托管在不同服务器上的文件

时间:2013-07-22 10:21:46

标签: php apache curl header

我有以下问题: 我在服务器上有一些大文件在plesk下运行,我想将它们从常规的plesk备份中排除,但据我所知,这是不可能的。

所以我想将这些大文件存储在另一台服务器上,并通过在第一台服务器上运行的网络应用程序提供服务。

问题是应该为用户隐藏文件的URL。现在我用php的header()实现了它。 当然它们应该直接提供给用户而不是通过第一台服务器,因为文件非常大!

简而言之,我需要的是,当用户点击文件下载链接时,他应该从第二台服务器接收文件,但文件网址不应该对他可见。

我使用php作为我的应用程序,使用apache作为web服务器, 如果有任何关于如何处理这个问题的建议,我将不胜感激,

哈利

编辑:我忘了提到用户必须从第一台服务器接受下载文件。这就是为什么我需要隐藏文件的URL。

2 个答案:

答案 0 :(得分:0)

您可以使用include或require_once函数从这些文件中获取数据,而无需实际“查看”该文件。

答案 1 :(得分:0)

如果用户从server2.domain.com收到文件,那么除非文件通过server.domain.com,否则无法让他们认为它来自server.domain.com

如果用户直接从第二台服务器请求该文件,那么他们将能够找到它来自哪里。

从用户那里完全隐藏其他服务器的证据的唯一真正方法是通过服务器1代理文件。您可以使用代理服务器或通过php读取和回显文件来执行此操作。