2012-02-08 5 views
3

J'essaie actuellement d'utiliser la fonction php 'include' pour inclure une URL externe. C'est ainsi que chaque fois que la page Web est mise à jour, elle mettra automatiquement à jour la mienne. Le problème que j'ai est cependant que je continue à obtenir une erreur en disant ce qui suit ...php include to external url

Avertissement: require() [fonction.require]: http: // wrapper est désactivé dans la configuration du serveur par allow_url_include = 0 dans C: \ wamp \ www \ starterpack \ starterpack2 \ header.php sur la ligne 48

J'ai essayé de trouver un moyen de corriger cette erreur ou de contourner le problème, mais je ne peux pas en trouver un. Quelqu'un a-t-il une idée?

P.S Je construis le site en utilisant wampserver, est-ce que les permissions du wampserver pourraient causer cette erreur?

Répondre

6

Examinez votre fichier php.ini et assurez-vous que allow_url_include est défini sur 1. Redémarrez HTTPD, done.

+7

il y a des problèmes de sécurité évidentes avec cela, mais c'est la façon de le faire .. – gorelative

+1

Ok merci beaucoup, vous avez été d'une grande aide – Phil

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

Et vous avez terminé :)

7

Vous serait mieux en utilisant echo file_get_contents($url) comme l'instruction include pourrait exécuter du code PHP retourné par l'autre site.

0

Cela va charger un site Web externe et donne également des liens externes une adresse lien vers le site absolu

$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

Votre réponse est identique à @squallstars. – Tom

0

Look à votre php.ini et assurez-vous allow_url_include est réglé sur 1

Sinon, utilisez la suite .. .

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