Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Officiels > Site Web > Lecture des commentaires

Vos commentaires sur :
Lire et écrire dans un fichier

Retour au tutoriel

Vous devez être inscrit pour pouvoir poster des messages

Page : 1  2 
Pseudo Commentaire
Page : 1  2 
Hors ligne Fraiza # Posté le 01/01/2006 04:55:17
Groupe : Membres
:) Bonjour, merci pour ce cours, par contre moi je voudrais ne pas effacer la premiere ligne, je voudrais ajouter, et laisser ce qu'il y avait à la suite. C'est pour un livre d'or :p
Merci d'avance si tu as la solution ^^
Hors ligne Jerebenz # Posté le 30/01/2006 17:08:10
Aide-toi, et le ciel t'aidera
Groupe : Membres
Salut :)

19/20 pour ce tuto :)

@Fraiza : Comme c'est si bien expliqué dans le tuto, utilise plutôt la base de données pour ton livre d'or.
Autrement, ce n'est pas le lieu pour en parler, il y a des forums pour ça.

Bye :)

P.S. : Pour info, je travail avec easyphp sur mon pc pour les tutos, et le compteur ne marchait pas au début, pour la simple raison que le fichier était vide, donc avec cette ligne :

Code : PHP
$pages_vues = fgets($monfichier);


La variable $pages_vues valait "false".

Quand on fait :

Code : PHP
$pages_vues++


La variable $pages_vues ne vaut pas 1, mais toujours "false", d'où l'erreur.

Pour remédié à ce problème, j'ai fais une petite condition comme ceci :

Code : PHP
// Si le fichier est vide, $pages_vues = false. Donc si $pages_vues = false, on défini $pages_vues à 0
if (!$pages_chargees){
        $pages_chargees = 0;
}


Et voilà, avec ça, $pages_vues est maintenant un entier, et le script fonctionne :)
 
Hors ligne lovedido # Posté le 01/03/2006 13:11:01
Avatar
Groupe : Membres
Le tuto est bien car il présente beaucoup de fonctions sur les fichiers :)

Simplification possible à noter:

Code : PHP
fseek($monfichier, 0);

// peut être remplacé par

rewind($monfichier);


Perso je préfère car c'est plus intuitif, comme la touche "Rew" d'un magnétophone :p

Ce n'est pas tant que j'aime la mienne, ce qui est sûr c'est que j'aime la vie (Mano Solo)
http://www.lovedido.net
 
Hors ligne Bogoris # Posté le 25/03/2006 13:40:57
Exit light ! Enter night !
Avatar
Groupe : Membres
Citation : Jerebenz
Pour remédié à ce problème, j'ai fais une petite condition comme ceci :

Code : Autre

// Si le fichier est vide, $pages_vues = false. Donc si $pages_vues = false, on défini $pages_vues à 0
if (!$pages_chargees){
$pages_chargees = 0;
}


Et voilà, avec ça, $pages_vues est maintenant un entier, et le script fonctionne :)


Ouais j'ai remarqué ça moi aussi.
Personnellement moi j'ai fait ça :
Code : PHP
if ($pages_vues == NULL)
{
        $pages_vues = 0 ;
}

Mais ça revient au même :p
 
Hors ligne Payday # Posté le 11/04/2006 18:32:22
Frequence3.fr !!!
Avatar
Groupe : Membres
Bonjour,

J'ai vu dans un script tout fait le mode w à quoi correspond-t-il ?

Image utilisateur
Image utilisateur
Image utilisateur
 
Hors ligne 999888 # Posté le 22/04/2006 23:08:46
Up the Irons!
Avatar
Groupe : Membres
Tout est là : http://fr.php.net/manual/fr/function.fopen.php comme à 95% des questions posées sur les forums de toutes manières...
Hors ligne gdott9 # Posté le 21/06/2006 23:24:22
Voili, voilou...^^
Avatar
Groupe : Membres
Super tuto... :D

Mais il faudrait rajouter la remarque de Jerebenz dans le tuto, car moi ca ne fonctionnait pas avec easy php et encore moins avec mon hebergeur!

Citation : Jerebenz
Pour info, je travail avec easyphp sur mon pc pour les tutos, et le compteur ne marchait pas au début, pour la simple raison que le fichier était vide, donc avec cette ligne :


Code : PHP
$pages_vues = fgets($monfichier);



La variable $pages_vues valait "false".

Quand on fait :


Code : PHP
$pages_vues++


La variable $pages_vues ne vaut pas 1, mais toujours "false", d'où l'erreur.

Pour remédié à ce problème, j'ai fais une petite condition comme ceci :

Code : PHP
// Si le fichier est vide, $pages_vues = false. Donc si $pages_vues = false, on défini $pages_vues à 0
if (!$pages_chargees){
        $pages_chargees = 0;
}


Et voilà, avec ça, $pages_vues est maintenant un entier, et le script fonctionne :)

Donc voila, ca serait bien de la rajouter pour les prochains...

I could so save the world if someone handed me superpowers...

Image utilisateur
 
Hors ligne Beusto-56 # Posté le 16/07/2006 21:25:42
La patience est la solution
Avatar
Groupe : Membres
Bonjour,

Je trouvais bizarre que le CHMOD ne fonctionnait pas o_O
Je comprends mieu ... :(

Citation : Free
La fonction chmod() a été desactivée pour des raisons pratiques.
Tous les fichiers hébergés sur un espace web ont les droits adéquats.


Free a désactivé le CHMOD, je suis étonné de ne pas voir d'autres personnes le signalant! Y-a-t-il une solution ?

Merci,
@+


Citation : Ne pas oublier
Tout vient à point à qui sait attendre...

Windows 98
MSN 7.0
CS 1.5
:-°
 
Hors ligne Jeremie78 # Posté le 06/10/2006 16:47:34
Aide toi et le zero t'aidera
Groupe : Membres
si il dit que les fichiers adéquats ont les droits requis alors c'est que tes fichiers peuvent tous se modifier entre eux !
donc no problème
(maintenant les permissions sont données à tous les fichiers, le CHMOD ne sert donc plus à grand chose :o )

Générateurs : de Bannières animées (GIF), et celui de Userbars (animées)
Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site !
 
Hors ligne komadori # Posté le 07/12/2006 11:55:33
vive le C !
Avatar
Groupe : Membres
Excelent tutorial, je mets 20/20, je pense qu'avec ça, on peut faire la transition entre le C le PHP !
Hors ligne Alef Burzmali # Posté le 28/12/2006 12:32:46
Leobaillard.org
Avatar
Groupe : Membres
Bonjour,

Encore un très bon tuto sur le SdZ.
Cependant, j'ai été surpris de trouver cette erreur :
  • "a" - Comme "r", ça ouvre le fichier en lecture seule
  • "a+" - Comme "r+"


Or, d'après la doc de php.net, c'est l'inverse.
"a" ouvre en écriture seule, alors que "a+" ouvre en écriture et lecture !

J'espère que cette erreur sera rapidement corrigée :D

Administrateur de l'hébergeur gratuit Léoserveur.
 
Hors ligne Arkhan # Posté le 05/01/2007 16:04:14
Groupe : Membres
J'ai eu du mal à le faire marcher le compteur de visite :(

Le voila en entier :
Code : PHP
<?php
$monfichier = fopen('/opt/lampp/htdocs/testphp/compteur.txt', 'r+');

// Lire la premiere ligne (qui est le nbre de pages vues)
$pages_vues = fgets($monfichier);

// Si $page_vues est vide (donc false)
if (!$pages_vues)
 {
  $pages_vues = 1;                             // On le met a 1 
  fwrite($monfichier, $pages_vues);   // Puis on ecrit ca dans le fichier
 }
// Sinon $pages_vues n'est pas vide
else
 {
  $pages_vues++;                              // On l'incremente de 1
  fseek($monfichier, 0);                    // On replace le curseur au debut du fichier
  fwrite($monfichier, $pages_vues)// On ecrit le nouveau nombre de pages vues

  fclose($monfichier);
 }

echo 'Cette page a ete vue ' .$pages_vues .' fois !' ."\n";
?>

Je suis sur Linux avec xampp (un peu l'equivalent d'EasyPHP) pour mes test.
Au départ je pensais que mon fichier ne pouvait pas etre lue (même avec un chmod 777 !) car il était constament vide. Et même en y ecrivant '1' dès le départ ça ne marchait pas o_O

L'erreur venait de mon script. Dans le if si $page_vues est vide, il faut l'initialiser à 1, mais surtout ECRIRE ce chiffre dans le fichier après :p ce que je ne fesais pas :-°

Remarque : fputs est un alias de fwrite, je préfère fwrite car il est plus parlant.

Bon tuto à part ça !
Hors ligne samurai_2k5 # Posté le 05/03/2007 03:08:04
Groupe : Membres
j'ai fai à peu prêt la moitié.

J'ai préféré posté cette remarque mnt ;)

voila , il serait gool de mettre le code avec les parametres connexion local en telachargement , pour que le lecteur puisse copier coller le code et l'analyse au premier coup ;) , j'ai eu du mal moi .

bon bref , j'avais deja les bases de C++, ce qui m'as donner un avantage . mais bon , un code qui marche, sous un editeur (coloretion et indexation ), c'est vraiment tentant à comprednre pour un nul.
Hors ligne mistergiro # Posté le 07/03/2007 14:51:00
Royal PHP !!
Avatar
Groupe : Membres
Pas mal ! je cherchait un moyen d'écrire dans les fichiers !
merci sdz ;)
Hors ligne Syb # Posté le 17/05/2007 16:28:18
Manger c'est bon
Avatar
Groupe : Membres
Citation : Arkhan
J'ai eu du mal à le faire marcher le compteur de visite :(

Le voila en entier :
Code : PHP
<?php
$monfichier = fopen('/opt/lampp/htdocs/testphp/compteur.txt', 'r+');

// Lire la premiere ligne (qui est le nbre de pages vues)
$pages_vues = fgets($monfichier);

// Si $page_vues est vide (donc false)
if (!$pages_vues)
{
$pages_vues = 1; // On le met a 1
fwrite($monfichier, $pages_vues); // Puis on ecrit ca dans le fichier
}
// Sinon $pages_vues n'est pas vide
else
{
$pages_vues++; // On l'incremente de 1
fseek($monfichier, 0); // On replace le curseur au debut du fichier
fwrite($monfichier, $pages_vues); // On ecrit le nouveau nombre de pages vues

fclose($monfichier);
}

echo 'Cette page a ete vue ' .$pages_vues .' fois !' ."\n";
?>

Je suis sur Linux avec xampp (un peu l'equivalent d'EasyPHP) pour mes test.
Au départ je pensais que mon fichier ne pouvait pas etre lue (même avec un chmod 777 !) car il était constament vide. Et même en y ecrivant '1' dès le départ ça ne marchait pas o_O

L'erreur venait de mon script. Dans le if si $page_vues est vide, il faut l'initialiser à 1, mais surtout ECRIRE ce chiffre dans le fichier après :p ce que je ne fesais pas :-°

Remarque : fputs est un alias de fwrite, je préfère fwrite car il est plus parlant.

Bon tuto à part ça !



Tres bon tuto.
Par contre il y a plus simple pour éviter de faire la condition if, il suffit juste de taper 0 dans compteur.txt et apres tout marche parfaitement ;)

Site perso: Vinterblot ! (Kits graphiques // Créations // Musique Folklorique & métal // Légendes Nordiques // etc..)
Recrute bêta-testeurs et cherche partenaires:
Image utilisateur



 
Hors ligne myGot # Posté le 20/06/2007 01:04:28
Groupe : Membres
F a n t a s t i q u e ! ! ! !
Hors ligne luc@s # Posté le 01/09/2007 08:22:59
Groupe : Membres
Bonjourn j'ai un petit problème, lors de l'execution de ce code j'ai une "fatal error" me signalant que file_put_contents() est indéfinie !

Comment faire pour que cela marche !


Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. if ($_POST['pass'] == "petit_curieux")
  3. {
  4. $titre = $_POST['titre'];
  5. $news = $_POST['news'];
  6. $date = date("d/m a H:i");
  7. echo "$date";
  8. //ecriture
  9. file_get_contents("news.php");
  10. file_put_contents("news.php", "<span class='sidebarText'>$titre</span> <i>(le $date)</i>");
  11. file_put_contents("news.php", "<p>$news</p> <hr />");
  12. echo "Message : $titre <br />$news";
  13. }
  14. ?>
Hors ligne alexnet # Posté le 02/10/2007 15:42:33
Groupe : Membres
c'est super cool de proposer des cours aussi facilement assimilables pour un debutant
FELICITATIONS!!!!!!!!! :D
la note aurait pu etre 20 mais bon ...faut en laisser pour la perfection...
Bonne suite .
Hors ligne ybouane # Posté le 07/10/2007 05:17:42
<vive le SDZ!!!>
Avatar
Groupe : Membres
domage qu'il n'y ai pas de façon de lire une ligne precise et non pas faire une boucle
 
Hors ligne sylvainpfr # Posté le 26/10/2007 21:06:45
Je pompe donc je suis.
Avatar
Groupe : Membres
Salut, c'est dommage que mon esprit critique soit si bien aiguise, j'aurais pu mettre 20/20 ;)

Bhaaa, on trouve toujours des details partout. :p Il suffit de chercher mes fautes d'orthographes. :-°

Le point sur lequel j'ai bute est le nom d'une variable : $nomfichier.
En fait cette variable n'est point le nom du fichier, cela peu preter a confusion. :euh:
Cette variable est en fait le 'handle' ( poignee ), indicatif qui permet de pointer sur un fichier. Cela permet , entre autre, d'ouvrir plusieurs fichiers en meme temps.

J'aurais plutot tendance a ecrire mes scripts comme cela :
...
$nomfichier = "compteur.txt";
$fichier_compteur = fopen($nomfichier, "r+");
...

(Avant, j'ecrivais "handle = ... " mais j'ai commence a franciser mes programmes. :D )

Cela n'est qu'un detail de mise en forme et je pense de meilleur comprehension. :)
Bravo, a toi M@teo21, et toute l'equipe, pour m'avoir redonne le gout a l'apprentissage, a la structuration, et a l'ordonnancement. ^^

Sylvain

Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes.
 
Hors ligne IgiX # Posté le 20/02/2008 22:05:02
Avatar
Groupe : Membres
bof, un peu chiant, je sais, mais si je veux supprimer le ligne de mon fichier, on fait comment?
si par exemple, j'ai abcdef et que je pace mon curseur au début, et je lui dit de met ghi j'aurai ghidef :/

Amicalement, IgiX

Hébergement Web
 
Hors ligne donfino # Posté le 29/02/2008 11:51:32
Groupe : Membres
Ce tuto est vraiment très bien expliqué et m'a permis d'effectuer pas mal de choses et surtout de comprendre ce qui était assez flou pour moi jusqu'ici.

Encore merci :-)
Hors ligne phpbbx # Posté le 06/03/2008 20:59:30
Groupe : Membres
Merci mais nous avons besoin de quelque chose plus que les numéro pour bien comprendre
Hors ligne antou # Posté le 16/03/2008 23:05:35
Avatar
Groupe : Membres
IgiX> pour ça, il faut que tu ouvres ton fichier avec le mode w (ou w+ pour la lecture), cette option permet d'"effacer" le contenu du fichier avant d'ajouter ce qu'on envoie avec fputs ;) .
Code : PHP - Afficher / masquer les numéros de ligne
  1. <?php
  2. $fichier = fopen('fichier', 'w+');
  3. $texte = "tadammm";
  4. fputs($fichier, $texte);
  5. fclose($fichier);
  6. ?>

. . . - - | - - . . .
Mon site Image utilisateur ___ En direct de chez Dieu... ____ 2065, et vous ? ____ Convers, un de mes projets
<Je vis un rêve, je suis parti, mais je vis encore et je goute à ce que l'on appelle sur Terre... la Mort. />

 
Hors ligne yannn # Posté le 10/04/2008 11:04:08
Groupe : Membres
J'ai pas tout compris dans ce tuto:
On crée un fichier "compteur.txt" accessible 777.
Puis un fichier "compteur.php" avec le script php que m@teo développe dans ce tuto.
Je glisse ces deux fichiers dans le répertoire www du serveur FTP de mon hébergeur là ou il y a les autres fichiers de mon site.

Je ne comprends pas comment çà peux comptabiliser l'ensemble des pages ouvertes?
Mon code est dans un fichier "compteur.php" indépendant des autres pages de mon site.
Comment une page quelconque de mon site peut être comptabilisée par ce fichier.
Hors ligne BarbeBrune # Posté le 18/05/2008 18:09:52
Groupe : Membres
Salut,

Bon viteuf' une petite note pour ce tuto : 16/20.
C'est un peu dur je sais mais c'est parce que d'habitude les tutos de Mateo sont vraiment irréprochables et là ben je me pose encore 2 questions fondamentales (il me semble).
D'abord quand on ouvre un fichier, suffit-il de donner son nom?
Code : PHP
1
$nomfichier = fopen("nom du fichier", "mode d'ouverture");

Et si la page sur laquelle on travaille n'est pas dans le même répertoire que le fichier? Je suppose que dans ce cas il faut indiquer le chemin relatif ou absolu du fichier. Peut etre faudrait-il le préciser. Dans le même ordre d'idée, où est créé un fichier avec le mode a (ou a+)? Toujours dans le même répertoire? Peut-on modifier le chemin lors de la création?
Bon et l'autre point faible du TP déjà souligné par un autre commentaire c'est : que se passe-t'il si la chaine de caractère écrite avec fputs est plus courte que celle déjà existante?

Bon je rale mais c'est pour la forme plus qu'autre chose. Voilà ce qui arrive quand on encourage la rigueur...
Un grand merci au site du zéro.
Hors ligne Alwin # Posté le 24/05/2008 16:58:41
Groupe : Membres
J'aurais juste un problème ... Comment fait t-on pour modifier les droits des fichiers lorsque l'on est sous mac avec MAMP ?
Sinon bravo pour le boulot effectué sur ce tuto !

19 /20 pour ce qui mac pour les mac-users :p
Hors ligne funduk # Posté le 07/06/2008 21:27:52
Avatar
Groupe : Membres
Du PHP qui ressemble à du C ??? Encore ??? Argggghhh !!!!
Image utilisateur
Ca y est, je suis mort. C'est mon fantôme qui écrot ces lignes. Bon, même si tu m'as tué, M@teo, je te mets 16. Eh oui, je suis méchant. :diable:

Quel est le meilleur site sur la photographie au monde ?

Comment peut-on poser une telle question :p ? hrphotographe bien sur ! :lol:
 
Hors ligne rastacouaire # Posté le 13/06/2008 12:14:06
vieux motard que jamais
Avatar
Groupe : Membres
note plus sévère, l'explication n'est pas très clair, contrairement à d'habitude. et malgré toutes les aides apporté ici, je ne trouves toujours pas la bonne solution, ni le code de M@teo ne marche. à croire qu'il manque un petit truc qui fait que... tant pis! :( :o

il en faut, peut pour être heureux, vraiment très peu pour être heureux... :soleil:
 
Hors ligne symbiont # Posté le 24/06/2008 23:50:24
Groupe : Membres
Excellent merci pour toout

Vous devez être inscrit pour pouvoir poster des messages

Retour au tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 667 Zéros connectés | Requêtes SQL 6 requêtes | Temps de génération de la page : Total (SQL) 0.0882s (0.0761s)