Maison > développement back-end > tutoriel php > Pourquoi mon PHP file_get_contents() ne parvient-il pas à récupérer les URL externes ?

Pourquoi mon PHP file_get_contents() ne parvient-il pas à récupérer les URL externes ?

DDD
Libérer: 2024-12-06 02:46:14
original
645 Les gens l'ont consulté

Why is my PHP file_get_contents() failing to retrieve external URLs?

PHP ini file_get_contents Problème avec l'URL externe

La fonction file_get_contents() permet à PHP de récupérer le contenu d'un fichier, y compris ceux situés sur URL externes. Cependant, dans certains cas, les utilisateurs peuvent rencontrer un problème où la fonction renvoie un résultat vide lorsqu'ils tentent d'accéder à une URL externe.

Conflits de configuration PHP.ini possibles

Ce problème pourrait être lié aux configurations PHP.ini, en particulier celles qui limitent l'accès aux URL externes. Pour déterminer la source du problème, il est nécessaire d'identifier les options de configuration pertinentes :

  • allow_url_fopen : Cette option contrôle si PHP peut ouvrir les URL. Vérifiez s'il est défini sur 0 (désactivé), ce qui empêcherait la fonction d'accéder au contenu externe.
  • allow_url_include : Semblable à allow_url_fopen, cette option permet à PHP de lire des fichiers à partir d'URL. Assurez-vous qu'il est défini sur 1 (activé).
  • safe_mode : le mode sans échec restreint certaines fonctionnalités PHP, y compris l'accès aux URL. Vérifiez que le mode sans échec est désactivé (défini sur Désactivé) dans php.ini.

Approche alternative : utilisation de cURL

Si la modification des paramètres PHP.ini n'est pas une option, une solution de contournement consiste à utiliser la bibliothèque cURL pour imiter la fonctionnalité de file_get_contents() :

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');
Copier après la connexion

Cette fonction initialise un handle cURL, définit les options nécessaires et exécute la requête, renvoyant le contenu de l'URL spécifiée.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal