begin process at 2012 02 11 01:08:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > FICHIER ( ÉCRITURE, LECTURE....) POUR DÉBUTANT

FICHIER ( ÉCRITURE, LECTURE....) POUR DÉBUTANT


 Information sur la source

Note :
9,5 / 10 - par 10 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Débutant Date de création :02/10/2004 Date de mise à jour :02/10/2004 11:54:18 Vu :21 376

Auteur : defkrie

Ecrire un message privé
Site perso
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

 Description

Ben, beaucoup de personnes qui commence le php et qui non aucune connaissance de programmation ou de linux/unix se demandent comment marche les fichiers en php.
Alors jai fait un petit récapitulatif de ce que je sais faire et j'espère que cela va vous aidez.

Source

  • Fichier :
  • Ecrire et créer un fichier c'est assez simple en général : pour cela on utilise
  • $fp=fopen("nom du fichier","mode");
  • Pour le nom du fichier prenons texte.txt, le mode correspond à ce que l'on veut faire "r" pour indiquer la lecture et "a" ou "w" pour l'écriture.
  • "a" signifie qu'on ouvre et on se place à la fin du fichier et "w" au début.
  • A ces trois lettres on peut rajoutez le signe "+" pour indiquez qu'il faut creer le fichier s'il n'existe pas. Pour les fichiers de type binaire on rajoute aussi "b", donc
  • $fp=fopen("texte.txt","w+");
  • fclose($fp);
  • va créer un fichier texte.txt, pour l'instant le fichier est vide.
  • Remarquer qu'un fois qu'on a fini de travailler sur un fichier on le ferme avec fclose();
  • Disons que je veuille rajoutez dans ce fichier un texte :
  • $texte="Mon premier ajout";
  • $fp=fopen("texte.txt","a");
  • fwrite($fp,"$texte");
  • fclose($fp);
  • Voila mon fichier texte.txt contient du texte.
  • Voyons d'autres méthodes d'ajout :
  • On peut ausi utliser aussi fputs();
  • $fp=fopen("texte.txt","a");
  • fputs($fp," est :");
  • fputs($fp,"\n");
  • fputs($fp,"cette portion de texte.");
  • fclose($fp);
  • On voit ici que fputs($fp,"\n"); sert à sauter une ligne.
  • Il existe fseek(); qui permet de de placer le pointeur ou on veut dans le fichier.
  • Voyons maintenant comment récupérer les infomations contenues dans le fichier "texte.txt"
  • Pour lire le fichier tous simplement on fait :
  • $fp=fopen("fichier.txt","r");
  • Apres tout dépend de ce qu'on veut récupérer :
  • fread();peut récupérer la quantité de caractères qu'on veut.
  • $fichier_texte=fread($fp,"11");
  • echo"$fichier_texte";
  • ceci provoquera l'affichage de "Mon premier", il y a ausi fgets();
  • $fichier_texte=fgets($fp,1024);
  • echo"$fichier_texte";
  • fgets prends la ligne complete soit "Mon premier ajout".
  • Pour avoir tout le contenu on peut par exemple parcourir le fichier ligne par ligne
  • while(!feof($fp))
  • {
  • $fichier_texte=fgets($fp,1024);
  • echo"$fichier_texte";
  • }
  • Ou encore extraire tous les n characteres sur la totalité du fichier (ici n=10)
  • while(!feof($fp))
  • {
  • $fichier_texte=$fichier_texte=fread($fp,"10");
  • echo"$fichier_texte";
  • }
  • Ou pour finir récupérer tout d'un coup avec fread() connaissant la taille du fichier.
  • Pour cela on utilise filesize() :
  • $taille=filesize("texte.txt");
  • $fichier_textel=fread($fp,$taille);
  • Voyons maitenant quelques fonctions appliquer aux fichiers
  • copy($source, $dest)
  • Copie le fichier $source vers $dest et retourne true si succès ou false si echec
  • rename($source, $dest)
  • Renomme le fichier $source en $dest et retourne true si succès ou false si echec
  • unlink($file)
  • Supprime le fichier $file et retourne true si succès ou false si echec
  • mkdir($dir, $mode)
  • Créée le dossier $dir avec les droits unix $mode (exprimés en octal) et retourne true si succès ou false si echec
  • rmdir($dir)
  • Supprime le dossier $dir et retourne true si succès ou false si echec
  • fileatime($file)
  • Retourne la date à laquelle le fichier $file a été accédé pour la dernière fois ou false si échec
  • filectime($file)
  • Retourne l'heure à laquelle le fichier $file a été accédé pour la dernière fois ou false si échec
  • filemtime($file)
  • Retourne la date de dernière modification du fichier $file ou false si échec
  • fileperms($file)
  • Retourne les permissions associées au fichier $file ou false si échec
  • filesize($file)
  • Retourne la taille du fichier $file (en octets) ou false si échec
  • filetype($file)
  • Retourne le type du fichier $file (fifo, char, dir, block, link, file, unknown) ou false si échec
  • is_dir($file)
  • Retourne true si $file est un répertoire ou false sinon
  • is_executable($file)
  • Retourne true si $file est exécutable ou false sinon
  • is_file($file)
  • Retourne true si $file est un fichier ou false sinon
  • is_link($file)
  • Retourne true si $file est un lien symbolique ou false sinon
  • is_readable($file)
  • Retourne true si $file est accessible en lecture ou false sinon
  • is_writable($file)
  • Retourne true si $file est accessible en écriture ou false sinon
  • touch($file)
  • Change la date de dernière modification du fichier $file en maintenant
  • En bonus :
  • Vérifier l'existence d'un fichier : Permet de vérifier si un fichier ou non.
  • $fichier="fichier.txt";
  • if(file_exists("$fichier"))
  • { echo "Le fichier existe ..."; }
  • else { echo "Le fichier n'existe pas !"; }
  • Statut d'un fichier : Evoque les differents droits sur un fichier
  • $fichier="fichier.txt";
  • if (is_readable("$fichier")) { echo "Le fichier peut être lu"; }
  • else { echo "Le fichier ne peut pas être lu !";}
  • if (is_executable("$fichier")) { echo "Le fichier peut être exécuté"; }
  • else { echo "Le fichier ne peut pas être exécuté !";}
  • if (is_writable("$fichier")) { echo "On peut écrire dans ce fichier"; }
  • else { echo "Ecriture impossible dans ce fichier !";}
  • Compteur grace au fichier texte : Voici un petit compteur tout bete.
  • $fp = fopen("compteur.txt","r+");
  • $nbvisites = fgets($fp,255);
  • $nbvisites++;
  • fseek($fp,0);
  • fputs($fp,$nbvisites);
  • fclose($fp);
  • echo"Vous êtes le $nbvisites visiteurs";
  • On onvre en lecture et écriture, puis on met dans la variable $nbvisites les 255 premiers caratères, on y ajoute 1.
  • Ensuite on se place au debut du fichier, on crée le résultat et on n'oublie pas de fermer.
Fichier : 


Ecrire et créer un fichier c'est assez simple en général : pour cela on utilise 

$fp=fopen("nom du fichier","mode"); 

Pour le nom du fichier prenons texte.txt, le mode correspond à ce que l'on veut faire "r" pour indiquer la lecture et "a" ou "w" pour l'écriture. 
"a" signifie qu'on ouvre et on se place à la fin du fichier et "w" au début. 
A ces trois lettres on peut rajoutez le signe "+" pour indiquez qu'il faut creer le fichier s'il n'existe pas. Pour les fichiers de type binaire on rajoute aussi "b", donc 

$fp=fopen("texte.txt","w+"); 
fclose($fp); 

va créer un fichier texte.txt, pour l'instant le fichier est vide. 
Remarquer qu'un fois qu'on a fini de travailler sur un fichier on le ferme avec fclose(); 

Disons que je veuille rajoutez dans ce fichier un texte : 

$texte="Mon premier ajout"; 
$fp=fopen("texte.txt","a"); 
fwrite($fp,"$texte"); 
fclose($fp); 

Voila mon fichier texte.txt contient du texte. 

Voyons d'autres méthodes d'ajout : 
On peut ausi utliser aussi fputs(); 

$fp=fopen("texte.txt","a"); 
fputs($fp," est :"); 
fputs($fp,"\n"); 
fputs($fp,"cette portion de texte."); 
fclose($fp); 

On voit ici que fputs($fp,"\n"); sert à sauter une ligne. 
Il existe fseek(); qui permet de de placer le pointeur ou on veut dans le fichier. 

Voyons maintenant comment récupérer les infomations contenues dans le fichier "texte.txt" 

Pour lire le fichier tous simplement on fait : 

$fp=fopen("fichier.txt","r"); 

Apres tout dépend de ce qu'on veut récupérer : 
fread();peut récupérer la quantité de caractères qu'on veut. 

$fichier_texte=fread($fp,"11"); 
echo"$fichier_texte"; 

ceci provoquera l'affichage de "Mon premier", il y a ausi fgets(); 

$fichier_texte=fgets($fp,1024); 
echo"$fichier_texte"; 

fgets prends la ligne complete soit "Mon premier ajout". 
Pour avoir tout le contenu on peut par exemple parcourir le fichier ligne par ligne 

while(!feof($fp)) 
{ 
$fichier_texte=fgets($fp,1024); 
echo"$fichier_texte"; 
} 

Ou encore extraire tous les n characteres sur la totalité du fichier (ici n=10) 

while(!feof($fp)) 
{ 
$fichier_texte=$fichier_texte=fread($fp,"10"); 
echo"$fichier_texte"; 
} 

Ou pour finir récupérer tout d'un coup avec fread() connaissant la taille du fichier. 
Pour cela on utilise filesize() : 

$taille=filesize("texte.txt"); 
$fichier_textel=fread($fp,$taille); 

Voyons maitenant quelques fonctions appliquer aux fichiers 

copy($source, $dest)
Copie le fichier $source vers $dest et retourne true si succès ou false si echec 

rename($source, $dest)
Renomme le fichier $source en $dest et retourne true si succès ou false si echec 

unlink($file)
Supprime le fichier $file et retourne true si succès ou false si echec 

mkdir($dir, $mode) 
Créée le dossier $dir avec les droits unix $mode (exprimés en octal) et retourne true si succès ou false si echec 

rmdir($dir)
Supprime le dossier $dir et retourne true si succès ou false si echec 

fileatime($file)
Retourne la date à laquelle le fichier $file a été accédé pour la dernière fois ou false si échec 

filectime($file)
Retourne l'heure à laquelle le fichier $file a été accédé pour la dernière fois ou false si échec 

filemtime($file)
Retourne la date de dernière modification du fichier $file ou false si échec 

fileperms($file)
Retourne les permissions associées au fichier $file ou false si échec 

filesize($file)
Retourne la taille du fichier $file (en octets) ou false si échec 

filetype($file)
Retourne le type du fichier $file (fifo, char, dir, block, link, file, unknown) ou false si échec 

is_dir($file)
Retourne true si $file est un répertoire ou false sinon 

is_executable($file)
Retourne true si $file est exécutable ou false sinon 

is_file($file)
Retourne true si $file est un fichier ou false sinon 

is_link($file)
Retourne true si $file est un lien symbolique ou false sinon 

is_readable($file)
Retourne true si $file est accessible en lecture ou false sinon 

is_writable($file)
Retourne true si $file est accessible en écriture ou false sinon 

touch($file)
Change la date de dernière modification du fichier $file en maintenant 


En bonus :

Vérifier l'existence d'un fichier : Permet de vérifier si un fichier ou non. 

$fichier="fichier.txt"; 
if(file_exists("$fichier")) 
{ echo "Le fichier existe ..."; } 
else { echo "Le fichier n'existe pas !"; } 


Statut d'un fichier : Evoque les differents droits sur un fichier 

$fichier="fichier.txt"; 

if (is_readable("$fichier")) { echo "Le fichier peut être lu"; } 
else { echo "Le fichier ne peut pas être lu !";} 

if (is_executable("$fichier")) { echo "Le fichier peut être exécuté"; } 
else { echo "Le fichier ne peut pas être exécuté !";} 

if (is_writable("$fichier")) { echo "On peut écrire dans ce fichier"; } 
else { echo "Ecriture impossible dans ce fichier !";} 


Compteur grace au fichier texte : Voici un petit compteur tout bete. 

$fp = fopen("compteur.txt","r+"); 
$nbvisites = fgets($fp,255); 
$nbvisites++; 
fseek($fp,0); 
fputs($fp,$nbvisites); 
fclose($fp); 
echo"Vous êtes le $nbvisites visiteurs"; 


On onvre en lecture et écriture, puis on met dans la variable $nbvisites les 255 premiers caratères, on y ajoute 1. 
Ensuite on se place au debut du fichier, on crée le résultat et on n'oublie pas de fermer. 



 Historique

02 octobre 2004 11:50:03 :
En apllication je vous est mis : Statut d'un fichier Verifier l'existence d'un fichier Compteur dans fichier texte
02 octobre 2004 11:54:18 :
Correction d1 erreur

 Sources du même auteur

Source avec Zip Source avec une capture CÉSAR PLUS (CRYPTAGE, DÉCRYPTAGE AVEC CLÉ ALÉATOIRE)
Source avec Zip Source avec une capture CÉSAR
Source avec Zip Source avec une capture NUMBER TO IMG
Source avec Zip Source avec une capture VOTEMEMBERS POUR PHPMYTEAM 2.0
Source avec Zip Source avec une capture PHPMYTEAM 2.0 : MODULE SEARCHMEMBERS

 Sources de la même categorie

Source avec une capture INTÉGRER À UNE BASE DE DONNÉES DES COORDONNÉES GÉOGRAPHIQUES... par slhuilli
Source avec Zip DÉCOMPOSER UN CODE PHP AVEC LA FONCTION INCLUDE par Julien39
CRÉATION D'UN SCRIPT D'AUTHENTIFICATION par phpAnonyme
Source avec Zip Source avec une capture N/X API: GOOGLE MAPS DEPUIS PHP VALID W3C par GillesWebmaster
PHP EXTRAIRE DES MAILS D'UN GROS FICHIER LOCAL OU DISTANT par cosmoswarezone1

Commentaires et avis

Commentaire de defkrie le 02/10/2004 11:46:11

Vous pouvez le retouvez en ligne sur http://ndwc.fwhost.net
@+

Commentaire de plopman le 02/10/2004 12:02:42

ah, même si il y a déja beaucoup de chose de ce genre, je trouve que c'est très très complet et très claire :o)
Bravo
9/10
PLopman

Commentaire de Anthomicro le 02/10/2004 13:40:33

Salut ;-)

Dans le même genre :

http://www.vulgarisation-informatique.com/article_140.php

a ++

Commentaire de Anthomicro le 02/10/2004 13:40:38

Salut ;-)

Dans le même genre :

http://www.vulgarisation-informatique.com/article_140.php

a ++

Commentaire de windu le 02/10/2004 14:15:45

c vrai... c vraiment pratik kome tuto!!!

Commentaire de bob3000 le 02/10/2004 17:12:36

c'est super bon!! bravo! 10/10

Commentaire de GRenard le 02/10/2004 20:24:46

C'est bien, 7.5/10 -> 8/10
T'aurais pu parlé de fstat() et de clearstatcache()

Commentaire de juki_webmaster le 03/10/2004 11:56:23

Niveau manitulation de fichier txt, celui-ci est le plus complexe mais pas le plus simple à comprend en lecture rapide.
Ya le meme bordel que sur IRCFR.com ! trop de creations identique (gestion date, fichier...) soyer inovent :)
8/10 bien!

Commentaire de defkrie le 03/10/2004 15:04:30

Merci,
je vois trop souvent sur le forum des questions de base relatif à ce sujet donc jai essayé detre assez complet.

Avis au novis les fichiers ne sont pas la pour remplacer les base de donnes, sa peut servir pour de petite application mais apprenez msql et les autres pour vos site...

@++

Commentaire de yoman64 le 09/10/2004 00:24:10

defkrie>Tu serais surpris de ce qu'on peut faire avec des fichiers text ;)
Perso j'Ai developper un systeme de Db en fichiers text , simplement parce que c'Est plus pratique pour sauvegarder et administrer ...Sans parler que certains hebergeur gratuit ne propose pas mysql.

YoMan64
PhPKoDe.Com << SVP laissez une source :'( deja près de 100 visiteurs et juste 6 sources :'(

Commentaire de defkrie le 09/10/2004 19:41:01

je suis daccord avec toi pour moi il est plus simple de sauver mes infos en fichiers texte qu'avec une base mais le traitement de grosse info nécesssite une base.

Commentaire de windu le 09/10/2004 19:51:13

Perso, g tendance à préférer la BDD (meme si j'utilise les fichiers kan cela  est plus pratik...) car difficil de faire des recherches, des classement, des tris... bref des requetes koi dans des fichiers...De plus, On peut avoir des problèmes de lecture & d'écriture si cela se passe en même temps!!

Commentaire de banjo12 le 15/01/2005 00:31:31

est ce que c'est possible d'ecrire a un endroit précis (par exemple entre deux balises dans un fichier xml) ?
Parce que je cherche à développer un livre d'or en flash grâce au xml...Pour lire les messages pas de probleme mais c'est pour les écrire sur le fichier xml !!
Donc si quelqu'un pouvait maider ça serait fort aimable :-) :-)
Contactez moi sur banjo12@wanadoo.fr
Merci

Commentaire de Cil20 le 04/10/2005 20:50:34

Excellent et trés bien commenté. 10 :)

Commentaire de Le Prince Dragon le 27/08/2006 23:04:50

merci pour tout ca ma boucops aidai
contunu commca

Commentaire de speedylol le 31/10/2006 08:23:39

bonjour simple question il y a t'il moyens de'envoyez par sessions et lecture par sessions svp???

Commentaire de peacestheway le 08/10/2007 12:47:01

c'est sympa comme tuto mais je me pose une question rapport a l'enregistrement des données,
lorsque l'on utilise un outil de mise en forme du texte par exemple une feuille de style css,
niveau rédaction dans le fichier texte nous sommes obligés d'utiliser des charactères genre " ' " la quote ou encore les guillemets "" or lors de l'enregistrement des données nous nous retrouvons avec un fichiers inexploitable comprenant ce genre de rédactionnel exemple :
<span class =/'titre/'>
en effet un slash viens d'interposer à chaque fois que l'un de ces caractère est utilisé !

si quelqu'un a une solution je suis preneur !
Merci ;)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,153 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales