Page 1 sur 2
Load d'un fichier XML
Posté : 19 avr. 2010, 22:42
par Neroc
Bonjour,
je suis débutant en php, et je cale un peu la. Alors pendant qu'il me reste encore un peu de cheveux je me décide à venir vous demander de l'aide
Alors mon (petit ?) problème :
j'essaye de charger un fichier XML. Jusque la pas de problème la fonction load et save marche parfaitement lorsqu'il s'agit d'un fichier XML classique. Mais la ou ça ce complique c'est que mon fichier XML est fait à la volée (j'ai besoin d'une clé d'authentification qui change a chaque foi pour le générer).
Et la impossible de charger ce fichier. j'ai bien cherché sur le net mais je ne trouve rien qui puisse m'aider.
Voila le code que j'utilise :
<?php
$dom = new DomDocument("1.0");
$dom->load("http://192.168.1.30/ampache/server/xml.server.php?action=songs&auth=efc3483fb97f00f16a21cb3388fcced2");
$dom->encoding="iso-8859-1";
$dom->save('tmp/songs.xml');
?>
J'espère que vous pourrez m'aider.
D'avance merci, et bonne soirée.
---
Neroc
Re: Load d'un fichier XML
Posté : 19 avr. 2010, 22:56
par stealth35
hello, tu pourrais la récupérer ou la clé ?
Re: Load d'un fichier XML
Posté : 19 avr. 2010, 23:02
par Neroc
C'est de la réponse rapide ici

Merci deja.
Pour la clé j'y vais progressivement, mais après le but c'est de la récupérer de la même façon d'un fichier xml avec quelque chose dans le genre j'imagine :
$keys = $value->getElementsByTagName("auth");
Re: Load d'un fichier XML
Posté : 19 avr. 2010, 23:08
par stealth35
si c'est comme ca tu feras
$keys = $value->getElementsByTagName("auth");
/*
...
*/
$dom->load("http://192.168.1.30/ampache/server/xml.server.php?action=songs&auth=$keys");
Re: Load d'un fichier XML
Posté : 19 avr. 2010, 23:14
par Neroc
D'accord.
Mais ca me charge toujours pas le fichier xml. mon fichier /tmp/songs.php est toujours vide.
Alors que si je prends un fichier xml déjà généré la ca marche.
Re: Load d'un fichier XML
Posté : 19 avr. 2010, 23:15
par stealth35
D'accord.
Mais ca me charge toujours pas le fichier xml. mon fichier /tmp/songs.php est toujours vide.
Alors que si je prends un fichier xml déjà généré la ca marche.
trouve un moyen de récupérer la clé et ca marchera,
ou est ton lien a la base ?
Re: Load d'un fichier XML
Posté : 19 avr. 2010, 23:18
par Neroc
Ben la en faite pour les tests je mets la clé manuellement, si je passe mon lien dans le navigateur je récupère bien le xml, mais avec le load en php la ça marche pas.
Re: Load d'un fichier XML
Posté : 19 avr. 2010, 23:21
par stealth35
Ben la en faite pour les tests je mets la clé manuellement, si je passe mon lien dans le navigateur je récupère bien le xml, mais avec le load en php la ça marche pas.
ouai ton navigateur dois avoir garder la session. mais php c'est un autre client ton ca marche pas comme ca
Re: Load d'un fichier XML
Posté : 19 avr. 2010, 23:27
par Neroc
Normalement de ce que j'ai compris avec l'api d'ampache, une foi la clé reçu pas besoin d'authentification, c'est elle qui gère tout. La clé est ajouté dans un système de gestion des accès sur le serveur.
All future interactions with the Ampache API must include the TOKEN as a get variable named 'AUTH'.
edit :
mais comme je m'auth avec le navigateur et que dans l'autre cas je suis direct sur le serveur je dois effectivement pas etre ajouté avec la même ip.
Bon j'essaye la récupération directe.
MERCI beaucoup

Re: Load d'un fichier XML
Posté : 20 avr. 2010, 00:08
par Neroc
Je récupère toujours pas les xml, je comprend vraiment pas. Le load marche pour un test.xml présent à la racine, mais pas pour le $url.
Pourtant le echo me donne la bonne url qui va bien, et la l'authentification ne joue pas.
<?php
$time = time();
$user = 'admin';
$key = hash('sha256','*********');
$passphrase = hash('sha256',$time . $key);
$url = "http://localhost/ampache/server/xml.server.php?action=handshake&auth=$passphrase×tamp=$time&version=350001&user=$user";
$doc = new DomDocument("1.0");
$doc->load($url);
...
echo "url= ".$url;
print htmlspecialchars($doc->saveXML());
Re: Load d'un fichier XML
Posté : 20 avr. 2010, 00:16
par stealth35
fais un
echo htmlentities(file_get_contents($url));
pour voir
Re: Load d'un fichier XML
Posté : 20 avr. 2010, 00:20
par Neroc
rien, désolé

Re: Load d'un fichier XML
Posté : 20 avr. 2010, 00:23
par stealth35
tu devrais rececoir un XML avec ton auth dedans
Re: Load d'un fichier XML
Posté : 20 avr. 2010, 00:26
par Neroc
Ben ouai, la je comprends vraiment pas. Bon je laisse tomber pour ce soir

Je verrai demain pour chercher ce qui cloche (certainement un problème entre la chaise e le clavie comme d'habr)
Merci beaucoup pour ton aide et ta patience en tous cas.
Bonne soirée.
Re: Load d'un fichier XML
Posté : 20 avr. 2010, 11:01
par Neroc
J'ai enfin trouvé, et je pense être en bonne voie pour le titre de boulet du jour.
J'avais en effet "oublié" d'activer l'option fopen dans mon php.ini, ce qui forcement est un peu gênant ...
Donc le problème est résolu et tout marche maintenant (je ne peux pas éditer mon premier post pour le mettre résolu :/)
Merci.