XML et PHP chez Free

Petit nouveau ! | 8 Messages

15 févr. 2006, 13:39

Bonjour à tous.

Je cherche à pouvoir faire plusieurs traitements sur un fichier xml sur un site free.
Je veux donc pouvoir lire certains attributs d'un type de noeud donné, et modifier le fichier xml.

Problème : Chez free il me semble que l'on est en php 4.3.quelque chose. De ce fait le SimpleXML n'est pas supporté.

Quelles solutions puis je avoir ?

Merci de me renseigner.

Si vous voulez plus d'informations sur la structure du fichier xml et les traitements que je souhaite effectuer dessus, n'hésitez pas à demander, je me ferais un plaisir de vous donner mes sources pour avoir de l'aide.

Petit nouveau ! | 8 Messages

15 févr. 2006, 14:26

Je viens d'aller voir chez free à cette adresse qu'il y a php 4.3.10 et 5.0.3 installés...
Comment savoir lequel utiliser ?
Via un phpinfo j'ai remarqué que pour moi la version 4.3.10 est active.
Comment faire pour utiliser l'autre et donc pouvoir utiliser SimpleXML ???

Edit : ok je viens de fouilelr dans vos forums... Il faut que j'utilise l'extension .php5...
Je vais donc essayer de faire mon code avec su SimpleXML...

Mammouth du PHP | 19672 Messages

15 févr. 2006, 15:43

Pour utiliser php5 sur free. il faut que tes fichiers aient l'extension .php5 et non .php
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 8 Messages

15 févr. 2006, 16:09

Merci pour la réponse.
Je suis en pleine prise de tête avec DOM en ce moment même, mais je progresse.

Petit nouveau ! | 8 Messages

15 févr. 2006, 16:56

Ca y est, je suis bloqué...
Dans un document xml structuré de la sorte :

Code : Tout sélectionner

<BL> <joueur Nom="toto" Type="idiot" Motif="parceque" /> </BL>
Je n'arrive pas à insérer un nouvel élément de type "joueur".
J'ai du mal entre les éléments et attributs.
Il faut utiliser quelles fonctions exactement ?
Je manque d'exemplex concrets pour pouvoir adapter mon code à la chose.

Merci

Mammouth du PHP | 19672 Messages

15 févr. 2006, 20:39

Il faudrait voir le code utilisé pour avoir une piste de départ :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
fab
ViPHP | 2657 Messages

15 févr. 2006, 21:31

[attardé des standards]
les balises c'est en minuscule !
[/attardé]
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Petit nouveau ! | 8 Messages

15 févr. 2006, 22:45

Je n'ai pas le code sous la main, j'essaierai de le mettre le plus tôt possible.

Ceci dit, je me permets de ne pas respecter les standards, je veux juste faire ce petit script pour une petite application personnelle.
Je débute en php, ce n'est pas la peine d'être aussi agressif je pense.

Je suis là pour demander de l'aide pas pour prendre de sales remarques.

Mammouth du PHP | 19672 Messages

15 févr. 2006, 22:57

Sur le problème des balises en majuscules, fab a raison et même pour une application perso, tu auras des difficultés avec l'interpréteur XML qui risque de te jeter purement et simplement sans faire de sentiment. :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 8 Messages

16 févr. 2006, 01:51

Au temps pour moi, quitte à faire les choses bien autant les faire dès le début et ne pas prendre de mauvaises habitudes.

Petit nouveau ! | 8 Messages

16 févr. 2006, 10:22

Allez c'est parti, j'ai passé pas mal de temps à retoucher du code pour que ce soit en minuscules et que ça refonctionne correctement.

Je vous explique ce que fait l'appli.
Il s'agit d'afficher en flash, sous forme tabulaire, des données présentes dans le fichier bl.xml (une blacklist pour éviter de jouer en ligne avec certaines personnes...)
Flash ne gérant pas l'écriture dans les fichiers, je suis obligé de passer par php pour cela.
Via un formulaire, je récupère 3 variables (nom, classe et motif).
J'ai réussi à faire un test d'existence de doublon afin de ne pas insérer un élément dont le nom existe déjà dans le fichier.
Par contre je n'arrive pas à insérer un nouveau noeud de "joueur".

Voici le fichier bl.xml
<?xml version="1.0" encoding="UTF-8"?>
<blacklister>
<joueur nom="test1" Classe="palouf" motif="pas de rez sur un wipe fjbfhklqdhfqjkbfklqbgsfkljbvqfjvqlfbv" />
<joueur nom="test2" classe="palouf" motif="pas de rez sur un wipe" />
<joueur nom="test8" classe="palouf" motif="pas de rez sur un wipe" />
<joueur nom="test6" classe="palouf" motif="pas de rez sur un wipe" />
<joueur nom="test3" classe="palouf" motif="pas de rez sur un wipe" />
<joueur nom="test4" classe="palouf" motif="pas de rez sur un wipe" />
</blacklister>

Mon code pour insérer (qui ne fonctionne pas)
J'ai juste essayé d'insérer des valeurs en dur, sans aovir récupéré les valeurs de mes variables du formulaire auparavant.
$dom = new DOMDocument();
$dom->load('bl.xml');

$node = $dom->createElement("joueur");
$newnode = $dom->appendChild($node);
$newnode->setAttribute("nom", "toto");
$newnode->setAttribute("classe", "chasseur");
$newnode->setAttribute("motif", "idiot");

echo $dom->saveXML();
Mais rien ne s'affiche...
Je n'en suis pas encore à l'écriture même dans le fichier mais je dois avouer que j'ai un peu de mal.

Petit nouveau ! | 8 Messages

17 févr. 2006, 12:44

J'ai résolu mon problème grâce au tuto suivant :
http://www.phpbuilder.com/columns/adam_ ... 60206.php3