[php]erreur d'écriture/ouverture fichier .txt
Fermé
aloneInTheDark
-
3 nov. 2005 à 16:58
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 - 4 nov. 2005 à 07:13
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 - 4 nov. 2005 à 07:13
A voir également:
- [php]erreur d'écriture/ouverture fichier .txt
- Erreur 0x80070643 - Guide
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Écriture facebook - Guide
3 réponses
GallyNet
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
386
3 nov. 2005 à 17:18
3 nov. 2005 à 17:18
A première vu, je dirai que le probleme ce situe à ce moment là :
Tu utilise la fonction is_writable() avec en paramètre une ressource de type "fichier", alors qu'il faut lui passez une chaine de caractère.
Comme il ne trouve aucun fichier correspondant (car PHP transforme la ressource un chaine de caratère, mais à ca manière) tu n'a jamais accès au fichier pour écrire dedans.
if (is_writable('$fichierContact'))
Tu utilise la fonction is_writable() avec en paramètre une ressource de type "fichier", alors qu'il faut lui passez une chaine de caractère.
Comme il ne trouve aucun fichier correspondant (car PHP transforme la ressource un chaine de caratère, mais à ca manière) tu n'a jamais accès au fichier pour écrire dedans.
Merci GallyNet,
Voilà, j'ai changé en ceci :
Ca fonctionne, parfaitement :-)
J'aurais une autre question au passage, je souhaites protéger le dossier contenant ce fichier texte, j'ai pensé qu'en mettant un .htaccess, ce serait le plus simple, mais est-ce que cela ne va pas empêcher ce code de s'exécuter ?
Voilà, j'ai changé en ceci :
if (eregi($regex, $mail)) { // le problème doit se situer à ce niveau $fichierContact = "fichiersTextes/contact.txt"; if (is_writable($fichierContact)) // si le fichier est accessible en écriture { $ecriture = fopen($fichierContact, "a"); // ouverture du fichier en écriture seule fwrite($ecriture, nl2br($nom)."\r\n"); // inscriptions dans le fichier fwrite($ecriture, nl2br($ip)."\r\n"); fwrite($ecriture, nl2br($mail)."\r\n"); fwrite($ecriture, nl2br($message)."\r\n\r\n"); fclose($ecriture); echo "<p>Merci $nom votre message a bien été enregistré</p>"; }
Ca fonctionne, parfaitement :-)
J'aurais une autre question au passage, je souhaites protéger le dossier contenant ce fichier texte, j'ai pensé qu'en mettant un .htaccess, ce serait le plus simple, mais est-ce que cela ne va pas empêcher ce code de s'exécuter ?
GallyNet
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
386
4 nov. 2005 à 07:13
4 nov. 2005 à 07:13
A priori non. Le fichier .htaccess ne bloque que les accés au fichier par le protocol HTTP. Comme le php est installé sur le serveur, il n'utilise pas le HTTP.
En résumé pas de problème.
En résumé pas de problème.