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 02/09/2011, 11h00   #1
Invité de passage
 
Homme
Développeur Web
Inscription : septembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut impossible d'écrire fichier .xml

Bonjour,

Je n'arrive pas a créer et écrire dans un fichier .xml avec php. Ce fichier n'existe pas auparavent et j'ai besoin de le créer entièrement avec php.
J'ai un code ou je ne fais que rajouter du texte a la fin :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//on prepare d'abord le texte a ajouter
							$new_text = '
							<track>
								<location>'.$adresse_fichier.'</location>
								<creator>'.$pseudo.'</creator>
								<title>'.$nom_fichier.'</title>
								<annotation>'.$description.'</annotation>
								<image>'.$adresse_img.'</image>
							</track>
							 ';
							 //on récupère l'adresse du fichier XML de l'artiste
							 $adresse_fichier_xml = $_SESSION['xml'];
							 //puis on écrit dans le fichier
							 $fichier_xml = fopen($adresse_fichier_xml, 'a+');
							 fputs($fichier_xml, $new_text);
							 fclose($fichier_xml);
?>
et un autre où on créer le fichier et on écrit le début :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
//on prepare le texte a écrire
					$new_text = '
					<?xml version="1.0" encoding="UTF-8"?>
					<playlist version="1" xmlns="http://xspf.org/ns/0/">
						<title>Chansons de '.$pseudo.'</title>
						<creator>'.$pseudo.'</creator>
						<image>'.$avatar.'</image>
						 ';
					$fichier_xml = fopen($adresse_fichier_xml, 'a+');
					fputs($fichier_xml, $new_text);
					fclose($fichier_xml)
					?>
et les erreurs sont toujours les memes :

Citation:
( ! ) Warning: fopen(www/code/playlists/fichier.xml) [function.fopen]: failed to open stream: No such file or directory in C:\wamp\www\Code\page.php on line 947
Call Stack
# Time Memory Function Location
1 0.0064 676768 {main}( ) ..\enregistrecompositeur.php:0
2 0.0262 716664 fopen ( ) ..\enregistrecompositeur.php:947
Citation:
( ! ) Warning: fputs() expects parameter 1 to be resource, boolean given in C:\wamp\www\Code\page.php on line 948
Call Stack
# Time Memory Function Location
1 0.0064 676768 {main}( ) ..\enregistrecompositeur.php:0
2 0.0280 717152 fputs ( ) ..\enregistrecompositeur.php:948
Citation:
( ! ) Warning: fclose() expects parameter 1 to be resource, boolean given in C:\wamp\www\Code\page.php on line 949
Call Stack
# Time Memory Function Location
1 0.0064 676768 {main}( ) ..\enregistrecompositeur.php:0
2 0.0282 717080 fclose ( ) ..\enregistrecompositeur.php:949
Je suis en Local avec PHP 5.3.5 avec WAMP sur Windows.

Voila si quelqu'un peut m'aider, merci !
joe2424 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 13h05   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 807
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 807
Points : 1 522
Points : 1 522
Vérifies que le dossier possède les droits.
A mon avis tu ne possèdes tout simplement pas les droits en écriture dessus.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 14h48   #3
Invité de passage
 
Homme
Développeur Web
Inscription : septembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2011
Messages : 3
Points : 0
Points : 0
Je suis en local, donc j'ai tous les droits non ? et sinon comment les vérifiés ?

Merci !
joe2424 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 15h12   #4
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
Le chemin est faux et/ou inexistant, c'est écrit noir sur blanc :
Citation:
Warning: fopen(www/code/playlists/fichier.xml) [function.fopen]: failed to open stream: No such file or directory in C:\wamp\www\Code\page.php on line 947
Je pencherais pour la première (faux) puisque relatif mais sans connaître le répertoire courant, on ne peut être affirmatif.

PS : il serait plus sage, notamment pour garantir la validité du XML, de passer par dom/simplexml/xmlwriter. Et, a priori, vue la technique, ce n'est pas le cas (quid de la racine ?).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 18h19   #5
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 807
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 807
Points : 1 522
Points : 1 522
Ouep j'étais pas très réveillé lors de mon dernier post...

Actuellement il cherche à créer ce fichier :
C:\wamp\www\Code\www\code\playlists\fichier.xml
La fonction fopen() agit par rapport au script lancé et non par rapport à la racine du serveur.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 18h33   #6
Invité de passage
 
Homme
Développeur Web
Inscription : septembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2011
Messages : 3
Points : 0
Points : 0
Ah oui j'avais mit l'adresse compléte a partir de la racine donc :

Code :
$adresse_fichier_xml = 'www/code/playlists/'.$pseudo.'.xml';
je le transforme en :

Code :
$adresse_fichier_xml = 'playlists/'.$pseudo.'.xml';
c'est ça ?



Merci

EDIT :
J'ai essayer avec la 2e adresse ci dessus (sans www/code/) et toujours le meme résultat ...
joe2424 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 18h39.


 
 
 
 
Partenaires

Hébergement Web