ecrire dans un fichier xml

luciferia22

Membre confirmé
27 Février 2006
22
0
salut,
je stock dans un fichier xml ma playlist de mp3 afin de les lancer dans un lecteur mp3 en flash, le tout sur internet (mais en local pour le moment^^).
Mon probleme est que je souhaiterai pouvoir quand j'upload un mp3, le rajouter dans le fichier xml sans supprimer de ligne...juste en rajouter une. le probleme c'est que y'a une ligne qui doit toujours resté a la fin...(</player>)


voila ce que je tape dans ma page php:

$Name = ('..\playlist.xml'); //nom du fichier xml que je veux mettre a jour
$fp = fopen($Name,"r+"); //ouverture en lecture/ecriture
if (!$fp) { //si on arrive pas a l'ouvrir...
echo "il n'y a pas de fichier";
} else {
while (!feof($fichier))//parcours des lignes
{
$page .= fgets($fichier,4096);//lit le contenu
}
$titre2 = eregi_replace("</player>","<song path="http://127.0.0.1/ojb/mp3/".$nomDestination title=$nomDestination/>
</player>",$page);
fputs($fp,$titre2); //ecrit dans le fichier
fclose($fp);
}

j'obtiens un message d'erreur: Parse error: parse error in i:\program files\easyphp1-8\www\ojb\mp3\fileupload.php on line 28
(c'est la ligne $titre2=eregi_replace("......)

cela peut venir du nom du fichier (la variable $nomDestination) que j'obtiens grace a ca:

$repertoireDestination = "../mp3/";
$nomDestination = $_FILES["monfichier"]["name"];

// si un fichier se termine par .php .php3, ca sera remplacé par l'extension .txt
if (eregi(".php", $nomDestination)) {
$nomDestination .= ".txt";
}

if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
if (rename($_FILES["monfichier"]["tmp_name"],
$repertoireDestination.$nomDestination)) {
echo "Le fichier temporaire ".$_FILES["monfichier"]["tmp_name"].
" a été déplacé vers ".$repertoireDestination.$nomDestination;
// et c'est la que je mets a jour le fichier xml


voila s'il etait possible de me dire d'ou ca vené?
merci par avance pour votre aide
 
slt,

t'as un soucis avec la gestion des quotes :)

si tu utilises "(double quote) pour encadrer une expression tu dois utiliser \" si le caractères " fait partie de l'expression

dc

$titre2 = eregi_replace("</player>","<song path="http://127.0.0.1/ojb/mp3/".$nomDestination title=$nomDestination/>
</player>",$page);

à remplacer par

$titre2 = eregi_replace("</player>","<song path=\"http://127.0.0.1/ojb/mp3/".$nomDestination." title=$nomDestination/>
</player>",$page);
 
la reponse que tu me donnes ne marche pas...

je veux bien apprendre par moi meme le php mais il me faudrait trouver un bon site avec de bons tutos!! pas du genre phpdebutant...
je trouve aucun tuto ki me permet de m'expliquer mes pb liés aux variables que j'essai d'inserer dans le fichier xml (et j'ai le meme probleme pour inserer cette meme variable dans une base de données)

il s'agit de ce put1 de nom du fichier que j'upload...que je stock dans $nomDestination

voila expliquez moi et je vous embetterai plus car les "'.$nomDestination.'" ca me fait une erreur, ca passe pas!!


merci par avance pour votre aide c super sympa