PHP : écrire en fin de fichier
                    
        
     
             
                    dimi3
    
        
    
                    Messages postés
            
                
     
             
            278
        
            
                                    Statut
            Membre
                    
                -
                                     
dimi3 Messages postés 278 Statut Membre -
        dimi3 Messages postés 278 Statut Membre -
        Bonjour,  
Je souhaite que l'IP d'un visiteur de mon site s'inscrive dans un fichier TXT afin que mon compteur de visiteurs, après lecture de ce fichier, ne compte pas plusieurs fois dans la même journée le même visiteur. Je voudrais que les IP s'ajoutent dans le fichier, chacun dans sa ligne propre. Voici le bout de code qui est sensé le faire :
-----------------
$fv = @fopen("visiteurs.txt","a+");
fputs($fv, $ip);
fclose($fcv);
--------------------
Bien qu'ayant choisi le mode a+, l'IP du visiteur ne s'ajoute pas en fin de fichier, mais écrase le précédent.J'ai essayé :
-----------------
$ip = $ip."\n";
$ip = $ip."\r";
$ip = $ip."\r\n";
$ip = $ip."\n\r";
-------------------------
... mais rien n'y fait ! Je n'ai toujours qu'un IP dans mon fichier, celui du dernier visiteur. Je remarque que lorsque je lis le fichier dans un éditeur, le curseur se place en début de fichier.
Je vous remercie de votre coup de main.
            
            
                
            
                
    
    
    
        Je souhaite que l'IP d'un visiteur de mon site s'inscrive dans un fichier TXT afin que mon compteur de visiteurs, après lecture de ce fichier, ne compte pas plusieurs fois dans la même journée le même visiteur. Je voudrais que les IP s'ajoutent dans le fichier, chacun dans sa ligne propre. Voici le bout de code qui est sensé le faire :
-----------------
$fv = @fopen("visiteurs.txt","a+");
fputs($fv, $ip);
fclose($fcv);
--------------------
Bien qu'ayant choisi le mode a+, l'IP du visiteur ne s'ajoute pas en fin de fichier, mais écrase le précédent.J'ai essayé :
-----------------
$ip = $ip."\n";
$ip = $ip."\r";
$ip = $ip."\r\n";
$ip = $ip."\n\r";
-------------------------
... mais rien n'y fait ! Je n'ai toujours qu'un IP dans mon fichier, celui du dernier visiteur. Je remarque que lorsque je lis le fichier dans un éditeur, le curseur se place en début de fichier.
Je vous remercie de votre coup de main.
        A voir également:         
- PHP : écrire en fin de fichier
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
                        
                    Merci pour ton coup de main. chr(13) ne marchait pas non plus. J'ai détruit mon fichier et l'ai récrit et maintenant ça marche. Je n'ai pas compris le pourquoi du comment.
                
                
    
                
                        
                    c'est étrange, mais je ne pense pas que ca vienne de comment tu écris ton code.  
Pour en avoir le coeur net, essayes :
Puis éxécutes le plusieurs fois, tu devrais avoir le resultat escompté.
A noter dans ton code, tu as fclose($fcv); et il faut fclose($fv);
    
                Pour en avoir le coeur net, essayes :
<?php  
$ip = "127.0.0.1";  
$fv = fopen("visiteurs.txt","a");  
fputs($fv, $ip.chr(13));  
fclose($fv);   
?>  
Puis éxécutes le plusieurs fois, tu devrais avoir le resultat escompté.
A noter dans ton code, tu as fclose($fcv); et il faut fclose($fv);
