Maison >développement back-end >tutoriel php >Pourquoi « file_get_contents » de PHP ne parvient-il pas à récupérer les URL externes et comment puis-je y remédier ?
PHP file_get_contents ne parvient pas à récupérer le contenu d'une URL externe
Lorsque vous tentez d'utiliser la fonction PHP file_get_contents pour récupérer le contenu d'une URL distante (par ex. , file_get_contents('http://example.com')), vous rencontrez un problème où le résultat est systématiquement vide sur un serveur spécifique. Cependant, l'accès aux fichiers locaux à l'aide de la même fonction renvoie les résultats attendus.
Cause probable dans php.ini
Le résultat vide est probablement attribué à un paramètre de configuration dans PHP. php.ini.
Solution
Pour résoudre ce problème, vérifiez les éléments suivants configurations spécifiques dans le fichier php.ini :
Si ces paramètres ne sont pas définis comme décrit, ajustez-les en conséquence et redémarrez le serveur PHP pour appliquer les modifications.
Approche alternative
Si vous ne pouvez pas modifier les paramètres php.ini ou préférez une approche différente, vous pouvez imiter le comportement de file_get_contents en utilisant cURL, comme le montre l'exemple suivant :
function get_content($URL){ $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $URL); $data = curl_exec($ch); curl_close($ch); return $data; } echo get_content('http://example.com');
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!