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 09/08/2011, 15h48   #1
Invité de passage
 
Inscription : avril 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 43
Points : 2
Points : 2
Par défaut écrire dans un fichier txt (message d'erreur : acces interdit)

Bonjour,

je viens d'installer XAMP portable sur ma clé usb et je cherche à écrire dans un fichier txt à partir d'une page php.

j'ai trouvé ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<HTML><body>
<?php
/* si register_globals off (à partir de PHP 4.3)
$commentaire = $_POST['commentaire']; 
*/
// en supposant que le fichier "texte.txt"
 existe au préalable
 
if ($commentaire!="")
	{
	/* Ecriture avec ouverture de fichier en mode a+*/
/* mode a+ 
pour écrire à la suite des caractères 
déjà présents dans le fichier 
*/
/* mode w+ 
pour effacer les données présentes 
et écrire dans le fichier.
Si ce fichier n'existe pas il est créé.
*/
 
$ouvre=fopen("texte.txt","a+"); // ouverture en lecture ( a+)
fwrite($ouvre,$commentaire);    // écriture fichier
fclose($ouvre);			// fermeture fichier
	}
?>
<form action="<?$PHP_SELF;?>" method="post">
<textarea name="commentaire"></textarea>
<input type="submit" value="Ecrire">
</form></body></HTML>

mais lorsque j’exécute le script, j'ai le message suivant :

Accès interdit!
Vous n'avez pas le droit d'accéder à l'objet demandé. Soit celui-ci est protégé, soit il ne peut être lu par le serveur.

Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le gestionnaire du site.
Citation:
Error 403
Pouvez-vous m'aider svp ? est à cause de ma clé usb ?
theos37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 16h21   #2
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bonjour,

tout d'abord tu verras ca pique moins les yeux . Sinon pour ton problème où se situe texte.txt? Est il dans le même dossier que le fichier qui exécute ton php? Est ce qu'il existe?
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 16h29   #3
Invité de passage
 
Inscription : avril 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 43
Points : 2
Points : 2
Bonjour,

Oui mon fichier texte.txt est dans le répertoire xampp\htdocs\test de ma clé usb. et il existe.
theos37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 16h33   #4
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
et est ce que ta page php est dans le dossier xampp\htdocs\?
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 17h15   #5
Invité de passage
 
Inscription : avril 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 43
Points : 2
Points : 2
oui tout à fait, au même endroit que le fichier texte.txt
theos37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 17h24   #6
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
A la place de texte.txt pourrais tu mettre le chemin complet, genre:

"C:\\....\\....\\texte.txt" sinon je ne vois pas d'où viens le problème?

Pour tester si ca marche pas, place texte.txt dans ton C: et mets le chemin complet dans ton fopen:

Code :
$ouvre=fopen("C:\\texte.txt","a+");
Et en dernier recours remplace a+ par w+ (je pense que s'il le ne trouve pas il le créera comme ca ^^)
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 12h29   #7
Invité de passage
 
Inscription : avril 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 43
Points : 2
Points : 2
Je crois que le problème n'est pas au niveau du fopen() mais plutôt au niveau de la varible $commentaire

J'ai testé le code suivant qui marche très bien

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
/* si register_globals off (à partir de PHP 4.3)
$commentaire = $_POST['commentaire']; 
*/
// en supposant que le fichier "texte.txt" existe au préalable
 
 
	/* Ecriture avec ouverture de fichier en mode a+*/
/* mode a+ 
pour écrire à la suite des caractères 
déjà présents dans le fichier 
*/
/* mode w+ 
pour effacer les données présentes 
et écrire dans le fichier.
Si ce fichier n'existe pas il est créé.
*/
 
$ouvre=fopen("texte.txt","a+"); // ouverture en lecture ( a+)
fwrite($ouvre,'bonjour');    // écriture fichier
fclose($ouvre);			// fermeture fichier
 
?>
theos37 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 08h16.


 
 
 
 
Partenaires

Hébergement Web