2012-02-08 84 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');