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 20/09/2007, 11h04   #1
Membre émérite
 
Avatar de neptune
 
Inscription : novembre 2003
Messages : 835
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : novembre 2003
Messages : 835
Points : 874
Points : 874
Par défaut Télécharger XML sans transformation

Bonjour à tous,

Je dois récupérer un fichier XML sur un serveur distant. Voici comment je procède.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
    if ($handle = fopen($url, "rb")) {
	// PHP 5
    //$xmlstr = stream_get_contents($handle, -1, 10);
 
	// PHP 4
	$xmlstr = "";
	while (!feof($handle))
	{
		$xmlstr .= fread($handle, 8192);
 
	}
 
             fclose($handle);	
}
Je récupère bien mon fichier. Seulement, dans le fichier XML, il y a un XSL dont je ne souhaite pas qu'il opère la transformation, je veux mon fichier XML brut.

Si cette url est un lien HTML et que je clique droit, sauvez la page, je récupère bien l'XML non transformé. Tandis qu'avec le code ci-dessus, je récupère le flux transformé

Auriez-vous une piste?

PS: avis au modérateur, le titre du sujet "Télécharger XML" n'est pas valide, je recoit l'erreur suivante: Votre titre doit comporter au moins 3 mots. La validation de cette règle semble s'opérer que sur le dernier token du sujet. Bug ;-)
neptune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 11h17   #2
Membre émérite
 
Avatar de neptune
 
Inscription : novembre 2003
Messages : 835
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : novembre 2003
Messages : 835
Points : 874
Points : 874
Bon, il s'avère que la transformation se fait côté serveur. En fait, le serveur vérifie l'user agent et si ce n'est pas un navigateur capable de faire la transformation lui-même, le serveur s'en charge.

Avant de lire le fichier, il suffit de faire ceci:

Code :
ini_set("user_agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
neptune est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h08.


 
 
 
 
Partenaires

Hébergement Web