1

我们正在使用共享主机,以下功能被禁用。

file_uploads = Off
allow_url_fopen = Off
allow_url_include = Off

我们无法更改托管,需要找出一些解决方法。托管公司也无法/愿意启用这些功能。

例如:我们从另一个服务器调用 1 个服务器以获取内容。所以我们做了一个包含,但由于 URL 文件包含被禁用,我们不确定我们必须使用哪些选项来获取第二台服务器上的内容并使用某种缓存将其存储在那里。

我们完全(专用)控制内容服务器,因此我们可以做任何必要的事情,只是不确定是否有一些简单的解决方案。

4

4 回答 4

1

由于您要检索远程内容,因此最简单的方法是编写功能以自己使用 curl ( php.net/curl )之类的方式获取内容

于 2008-11-24T06:31:21.557 回答
0

你有没有尝试过这样的事情: http ://www.humanumbrella.com/2007/12/08/how-to-download-a-remote-file-in-php-and-then-save-it/

于 2008-11-24T06:51:47.883 回答
0

这取决于服务器的锁定程度。给定的示例(使用 curl 函数或 fsockopen)不应受到您提到的限制的阻碍。

于 2008-11-24T09:12:06.477 回答
0

你可以像这样解决你的问题

a)在专用服务器中创建机制以获取任何文件(加上某种基于密钥的身份验证和对可以从中获取文件的路径的限制)

例如:一个 url,上面写着 get_file?path=/path/to/file&key=security_key

b)编写一个函数来获取它,就像从本地文件中一样

function fetch_file($path) {
    $ch = curl_init("http://www.example.com/get_file?path=$path&key=security_key");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

然后你可以评估返回的字符串,这就像包括文件

eval fetch_file($path);

如果阻止 php 文件上传,另一种写入服务器的解决方案是将文件 ftp 到您的服务器并包含该文件。

于 2013-10-23T23:18:28.990 回答