Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2008, 15h40   #1
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 2
Points : 2
Par défaut Récupérer flux à partir d'un fichier XML

Bonjour, j'ai un petit problème lors de la récupération des données provenant d'une URI.

Voici l'URI :

http://www.ipoker.com/next-tournamen...ournaments.XML

J'arrive sans problème à le lire avec Internet explorer, mais impossible de l'ouvrir avec "fopen", "file", ou "file_get_contents".

J'ai d'autre URI de ce genre, avec le même type de contenu, et pourtant j'arrive très bien à les traiter avec "fopen".

Voici un bout de code pour y voir plus clair :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
$flux = 'http://www.ipoker.com/next-tournaments/cdpoker-next-tournaments.XML';
 
$fp = fopen($flux, "rb");
if (!$fp) {
    echo "Impossible d'ouvrir le flux RSS<br />";
}
else {
    echo "Lecture du flux RSS : <br />";
    while ( $ligneXML = fgets($fp, 1024) ) {
        echo htmlentities($ligneXML);
    }
}
D'où peut venir le problème ? le .XML en majuscule dans l'URI ? des problèmes de droits ? mon incompétence ?

Merci à tous.
loicmaxinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 18h39   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
C'est parce que le serveur ne reconnaît pas votre client (et ne sait pas s'il gère convenablement ce type de contenu). Vous pouvez jouer sur les options de contexte lors du fopen (ou file_get_contents avec les versions 5 uniquement) ou plus simplement via le paramètre user_agent :
Code :
1
2
ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14');
echo file_get_contents('http://www.ipoker.com/next-tournaments/cdpoker-next-tournaments.XML');
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2008, 17h45   #3
Invité de passage
 
Inscription : avril 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 9
Points : 2
Points : 2
C'est excellent, ça à fonctionné au quart de tour !

J'aurai jamais trouvé, d'ailleurs malgré ton explication j'ai du mal à comprendre le pourquoi du comment. Si tu as des info sur le fonctionnement, je suis preneur.

Une dernière question : quelles auraient été les options de contexte du fopen ?

En tout cas, merci énormément !

loicmaxinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h39.


 
 
 
 
Partenaires

Hébergement Web