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 :

fopen qui ne fait rien ? [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Par défaut fopen qui ne fait rien ?
    Bonjour à vous !
    Je suis actuellement en galère sur un bout de code assez idiot. Je vous le met en simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        public function EcrireTXT($donnees){
        $filename = "donnees.txt";
            if (!$handle = fopen($filename, 'a+')) {
                echo "Impossible d'ouvrir le fichier $filename";
                exit;
            }
            if (fwrite($handle, $donnees) === FALSE) {
                echo "Impossible d'écrire dans le fichier $filename";
                exit;
            } else echo "L'écriture de '$donnees' dans le fichier $filename a réussi";
            fclose($handle);
        }
    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
     
    	//On Créer une socket TCP/IP. 
    	public function __construct($adresse,$port) {	
    	echo "Lancement du sniffeur : OK";
    		$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    		$this->adresse=$adresse;
    		$this->port=$port;	
     
    		if ($this->socket) {
    			socket_set_option($this->socket, SOL_SOCKET, SO_RCVTIMEO, array('sec'=>0, 'usec'=>0));
    			$this->EcrireTXT("<span class=\"avertissements\">Création de la socket : <b>Ok.</b></span><br />");
    		} else {
    			$this->EcrireTXT("<span class=\"avertissements\">Création du socket : Erreur lors de la création de la socket.</span><br />"); 
    		}
    ...
    La fonction EcrireTXT est bien appelée, les echos surgissent me disant que tout va bien.
    Mais mon fichier n'est pas créé s'il n'existe pas, et s'il existe, rien y est inscris.
    Est-ce la fatigue qui me fait rater quelque chose ? Merci d'avance !

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    utilise file_put_contents flag FILE_APPEND si tu veux rajouter des données

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Par défaut
    Bonjour, et merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public function EcrireTXT($donnees){
        $file = "data.txt";
        if (!file_put_contents($file, $donnees, FILE_APPEND | LOCK_EX)) echo "Echec !"; else echo "Victoire !";
        }
    M'affiche victoire, mais non. Rien n'est ajouté.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par devoluti0n Voir le message
    Bonjour, et merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public function EcrireTXT($donnees){
        $file = "data.txt";
        if (!file_put_contents($file, $donnees, FILE_APPEND | LOCK_EX)) echo "Echec !"; else echo "Victoire !";
        }
    M'affiche victoire, mais non. Rien n'est ajouté.
    et si tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $file = "data.txt";
    var_dump(is_writable($file));
    $put = file_put_contents($file, $donnees, FILE_APPEND | LOCK_EX);
    if($put)
    {
        echo file_get_contents($file);
    }
    else
    {
         echo "Echec !";
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 189
    Par défaut
    La même sans var dump :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        public function EcrireTXT($donnees){
            $file = "data.txt";
            $put = file_put_contents($file, $donnees, FILE_APPEND | LOCK_EX);
            if($put){
                echo file_get_contents($file);
            } else {
                 echo "Echec !";
            }
        }
    Me retourne ce qui devrai être dans le fichier, comme si il arrivait à lire via file_get_contents($file);

    Sauf que mon fichier est vide.

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    mais le var_dump est a quel valeur ?

    EDIT : ton error_reporting est a quelle valeur ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. TRIGGER qui ne fait rien ?
    Par innova dans le forum Développement
    Réponses: 3
    Dernier message: 20/11/2006, 15h39
  2. Réponses: 10
    Dernier message: 16/11/2006, 22h36
  3. [PHP-JS] Méthode flush() qui ne fait rien
    Par Khrysby dans le forum Langage
    Réponses: 9
    Dernier message: 21/05/2006, 20h55
  4. [debutant]programme qui ne fait rien.
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 04/12/2005, 23h19
  5. procédure stockée qui ne fait rien
    Par trotters213 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 10/03/2005, 21h25

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