将PHP include到外部URL

5
我目前正在尝试使用php函数“include”来包含外部url。这样,每当网页更新时,我的网页也会自动更新。然而,我遇到的问题是,我不断收到以下错误提示...
警告:require() [function.require]:服务器配置中的allow_url_include=0禁用了http://包装器,在C:\wamp\www\starterpack\starterpack2\header.php的第48行。
我已经尝试找到解决此错误或绕过它的方法,但无法找到。有人有什么想法吗?
顺便说一下,我正在使用wampserver构建网站,wampserver的权限可能会导致这个错误吗?
5个回答

10

你最好使用 echo file_get_contents($url) ,因为包含语句可能会执行其他网站返回的任何PHP代码。


8

查看您的php.ini文件,确保allow_url_include设置为1。重新启动HTTPD,完成。


5
function getter($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

echo getter('http://yourdomain.com/externalfile.php');

完成啦 :)

0

查看您的php.ini文件,确保allow_url_include设置为1

否则,请使用以下方法...

function getter($url) 
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;}
echo getter('http://yourdomain.com/externalfile.php');

0

这将加载外部网站,并为外部链接提供绝对网站链接地址

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.your_external_website.com");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
$result = preg_replace("#(<\s*a\s+[^>]*href\s*=\s*[\"'])(?!http)([^\"'>]+)([\"'>]+)#",'$1http://www.your_external_website.com/$2$3', $result);
echo $result

你的答案与 @squallstars 完全相同。 - Tom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接