Obtenir le code source d’une page distante
Voilà une petite fonction toute simple afin de mettre en variable le code source d’une page d’un autre site. Attention, votre serveur doit permettre l’appel de page externe. Pour voir si c’est bien le cas, vous pouvez vérifier si le paramètre “allow_url_fopen” est bien sur “On” grace à un petit phpinfo().
Si votre écran vous affiche un malheureux “Warning: fopen()” c’est que justement votre serveur n’autorise pas la lecture d’un fichier distant de votre site. Si vous êtes sur un serveur dédié ou en local: pas de panique vous pouvez corriger ca dans les parametres de celui-ci (php.ini). Par contre si vous êtes sur un serveur mutualisé, là, peu de recours: seulement un mail où une demande à votre hébergeur pour l’implorer de vous donner ce droit.
Voici le petit code en question:
//_______________________________ lecture +mise en variable d'une page distante // function lectureCodeSource($url){ if ($handle =fopen($url, "rb")) { if ($contents = stream_get_contents($handle)){ $contents=htmlentities($contents); return $contents; }else{ return 'La page n\'a pas pu etre scannée ';} }else { return 'La page n\'a pas pu etre scannée ';} fclose($handle); } $codeSource = lectureCodeSource('http://www.bluestudio.fr/'); echo $codeSource; // |
Le principe:
- fopen : Ouverture de la page avec les bons droits (rb).
- stream_get_contents : obtention du flux de contenu.
- htmlentities : conversion des balises en texte standard.
- fclose : fermeture de la page.
- echo : affichage du retour de la fonction.
Cette fonction est très utile pour faire des opérations sur des sources de site. En effet, vous pouvez par exemple faire passer ce code source dans une fonction d’étude de mots clés, ou de repérage des balises méta…
Enjoy It
| Imprimer l'article | Cette entrée a été posté par Tomredhot le 05/05/2010 à 12:24, et placée dans Php. Vous pouvez suivre les réponses à cette entrée via RSS 2.0. Vous pouvez laisser une réponse, ou bien un trackback depuis votre site. |
