[php] pbl ouverture fichier distant ac fopen

Résolu
28_seb Messages postés 88 Statut Membre -  
28_seb Messages postés 88 Statut Membre -
Bonjour,

J'essaie de récupérer un fichier xml sur un site distant avec la fonction fopen mais ca ne marche pas !
J'ai le message d'erreur que j'ai créé dans mon code qui est "Impossible d'ouvrir le fichier XML".

En local tout fonctionne bien !

j'ai regardé la variable 'allow_url_fopen' dans php.ini, elle est a ON, je ne comprends pas d'où peut venir le problème.

Merci pour votre aide.

Seb

Ma conf :

PHP 5.2.6
Apache 2.0 Handler
Fedora

Mon code :(il est correct car je l'ai testé sur un autre serveur et cela fonctionne)

<?php
$fichier = "https://www.leparisien.fr/";

//$fichier = "fluxrss.rss";

// Ma propre fonction de traitement du texte
// qui est appelée par le "parseur"
function fonctionTexte($parseur, $texte)
{
// Dans l'immédiat nous nous contentons d'afficher
// le texte brut accompagné d'un simple retour à la ligne
echo $texte."<br/>";
}

// Création du parseur XML
$parseurXML = xml_parser_create();

// Je précise le nom de la fonction a appeler
// lorsque du texte est rencontré
xml_set_character_data_handler($parseurXML, "fonctionTexte");

// Ouverture du fichier
$fp = fopen($fichier, "r");
if (!$fp) die("Impossible d'ouvrir le fichier XML");

// Lecture ligne par ligne
while ( $ligneXML = fgets($fp, 1024)) {
// Analyse de la ligne
// REM: feof($fp) retourne TRUE s'il s'agit de la dernière
// ligne du fichier.
xml_parse($parseurXML, $ligneXML, feof($fp)) or
die("Erreur XML");
}

xml_parser_free($parseurXML);
fclose($fp);
?>
Configuration: Windows XP
Firefox 3.0.10

2 réponses

  1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    salut,

    chez moi aussi ça passe.
    en capturant l'erreur tu devrais avoir plus d'infos :
    // Ouverture du fichier
    try
    {
    	$fp = fopen($fichier, "r");
    }
    catch($e)
    {
    	print_r($e);
    }
    1
  2. 28_seb Messages postés 88 Statut Membre 11
     
    Slt,

    Merci pour ta réponse, cela fonctionne maintenant !

    Le problème venait de la connexion internet qui était sur un proxy et il bloqué cette fonction.

    Seb
    0