Fonction url_get_contents en PHP
Plutôt que d'utiliser un bien moche file_get_contents($url) où $url est une url, je vous propose une petite fonction url_get_contents($url) utilisant l'extension curl de PHP qui permet aussi bien de télécharger le contenu d'une url via GET que POST :
function url_get_contents($url, $post = null) {
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt ($curl, CURLOPT_HEADER, 0);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
//curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, 1); // if no safe_mode neither open_basedir
if (is_array($post)) {
curl_setopt ($curl, CURLOPT_POST, 1);
curl_setopt ($curl, CURLOPT_POSTFIELDS, $post);
}
$html = curl_exec ($curl);
curl_close ($curl);
return $html;
}
L'utilisation est réellement simple :
$content = url_get_contents('http://www.noisette.ch');
1 commentaire:
Attention à la ligne curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, 1);, si php tourne en safe_mode ou qu'un open_basedir est configuré, CURLOPT_FOLLOWLOCATION ne peut pas être utilisé.
Enregistrer un commentaire