IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

écrire dans un fichier txt (message d'erreur : acces interdit)


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 52
    Points : 23
    Points
    23
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.
    Error 403
    Pouvez-vous m'aider svp ? est à cause de ma clé usb ?

  2. #2
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    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?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 52
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    Oui mon fichier texte.txt est dans le répertoire xampp\htdocs\test de ma clé usb. et il existe.

  4. #4
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    et est ce que ta page php est dans le dossier xampp\htdocs\?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 52
    Points : 23
    Points
    23
    Par défaut
    oui tout à fait, au même endroit que le fichier texte.txt

  6. #6
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $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 ^^)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 52
    Points : 23
    Points
    23
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    ?>

Discussions similaires

  1. Créer et écrire dans un fichier.txt
    Par Furius dans le forum VBScript
    Réponses: 11
    Dernier message: 16/05/2016, 12h27
  2. Ouvrir et écrire dans un fichier .txt en T-SQL
    Par joul's dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 27/10/2008, 21h04
  3. Réponses: 6
    Dernier message: 28/02/2007, 16h18
  4. [VBa-E] Peut-on écrire dans un fichier txt?
    Par gootsu dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/07/2006, 12h34
  5. Réponses: 17
    Dernier message: 05/07/2006, 13h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo