2012-02-08 148 views
3

我目前正在尝试使用php函数'include'来包含外部网址。这是这样的,每当网页更新,它会自动更新我的。然而,我遇到的麻烦是,我不断收到一个错误,说如下...php包含外部网址

Warning:require()[function.require]:http:// wrapper在服务器配置中被禁用allow_url_include = 0在线48上的C:\ wamp \ www \ starterpack \ starterpack2 \ header.php

我试图找到一种方法来解决这个错误或找到解决方法,但找不到一个。有没有人有任何想法?

P.S我正在使用wampserver构建网站,wampserver的权限是否会导致此错误?

回答

6

看看你的php.ini,并确保allow_url_include设置为1.重新启动HTTPD,完成。

+7

有这种明显的安全问题,但是这是要做到这一点.. – gorelative 2012-02-08 15:28:19

+1

好非常感谢,你已经有很大的帮助 – Phil 2012-02-08 15:46:44

4
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'); 

大功告成:)

7

你会使用echo file_get_contents($url)更好为包括语句可以执行由其他站点返回任何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 
+0

你的回答是相同的@squallstars。 – Tom 2012-10-11 05:59:36

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');