J’essaie de lire un fichier XML depuis un autre serveur. Cependant, la société qui m’héberge semble avoir abandonné la fonction file_get_contents pour récupérer des fichiers pour des fichiers provenant d’autres serveurs (et leur prise en charge n’est pas très claire et il leur faut une éternité pour y répondre). J’ai donc besoin d’un travail en quelque sorte.
Ceci est mon code actuel
$url = urldecode( $object_list_url ); $xmlstr = file_get_contents ( $url ); $obj = new SimpleXMLElement ( $xmlstr, LIBXML_NOCDATA );
Vous pouvez utiliser cURL (si ce n’est pas désactivé). Quelque chose comme ça:
$c = curl_init($url); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); $xmlstr = curl_exec($c);
La variable ini à laquelle vous faites référence est allow_url_fopen
. Pour vérifier, exécutez ce script:
var_dump(ini_get('allow_url_fopen'));
Demandez à votre hôte d’activer cette valeur ini (s’il est désactivé – il est activé par défaut).
Vous ne devriez pas être en mesure d’accéder à une URL distante sans que cette configuration soit activée.
Vous pouvez également essayer de copy
le fichier sur votre serveur. Je m’attends à ce que toutes les fonctions du système de fichiers soient couvertes par ce paramètre ini mais cela vaut toujours la peine d’essayer.
Pouvez-vous exécuter le script suivant et fournir les informations sous forme de commentaire?