Le code est simple:Pourquoi parfois ne pouvez-vous pas obtenir du contenu en utilisant file_get_contents()?
<?php
function getStringFromUrl($url){
$fResource = fopen($url, 'r');
do {
$data = fread($fResource, 8192);
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while(true);
fclose ($fResource);
$contents = mb_convert_encoding($contents,'utf-8','gbk');
return $contents;
}
echo getStringFromUrl(urlencode('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=text&ip=119.97.23.59'));
echo file_get_contents('http://blog.sina.com.cn/rss/1400122351.xml');
Parfois, je peux obtenir du contenu, parfois pas. Je ne peux pas comprendre pourquoi.
(EDIT: le msg d'erreur est: [function.fopen]: failed to open stream et [function.file-get-contents]: failed to open stream)
Bien sûr, le 2 Les URL ci-dessus sont disponibles. J'ai également défini le allow_url_fopen = On
dans php.ini.
vous avez essayé d'utiliser les fonctions curl au lieu de fopen/file_get_contents? –