Bonjour a tous
voila j'aimerai comprendre pourquoi ceci :
renvoit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $contenu = file_get_contents($url);
(sachant que le fichier existe bien a l'adresse en question)Warning: file_get_contents(http://localhost/NewFolder/new5.php) [function.file-get-contents]: failed to open stream: HTTP request failed! in C:\wamp\www\NewFolder\new5.php on line 6
alors que :
fonctionnera parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $self = basename($_SERVER['PHP_SELF']); $contenu = file_get_contents("$self");
L'erreure du premier semble venir du fait que la fonction s'appelle en boucle comme si le contenu appelé etait executé.
D'ou l'etrangeté que le deuxieme marche parfaitement.
suite a une discussion avec onet sur le chat, on en est arrivé a supposer que ce serait par securité que php permettrait d'accéder a la source pour un appel type file_get_contents('file.php') mais qu'il executerait le code pour un appel type file_get_contents('http://url.com/file.php'). (afin de ne pas recupéré les fichiers config d'un site (dixit onet)).
Qu'en pensez vous? Quelqu'un aurait il l'explication?
Partager