Ouvre en lecture seule, et place le pointeur de fichier au début du fichier.
'r+'
Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier.
'w'
Ouvre en écriture seule ; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n’existe pas, on tente de le créer.
'w+'
Ouvre en lecture et écriture ; le comportement est le même que pour 'w'.
'a'
Ouvre en écriture seule ; place le pointeur de fichier à la fin du fichier. Si le fichier n’existe pas, on tente de le créer. Dans ce mode, la fonction fseek() n’a aucun effet, les écritures surviennent toujours.
'a+'
Ouvre en lecture et écriture ; place le pointeur de fichier à la fin du fichier. Si le fichier n’existe pas, on tente de le créer. Dans ce mode, la fonction fseek() n’affecte que la position de lecture, les écritures surviennent toujours.
Fonctions
Fonction
Description
$fichier = fopen(« chemin du fichier », « mode »)
Ouvre un fichier texte (mode, voir le tableau ci-dessus)
fgetc($fichier)
Lit caractère par caractère
fgets($fichier)
Lit ligne par ligne (séparer par des retour chariots)
fread($fichier, nb car)
Lecture d’un bloc de caractère en nombre de car.
fwrite($fichier, « texte à écrire »)
Ecrit une chaine dans un fichier à la position du pointeur
fputs($fichier,« texte à écrire »);
Ecrit une chaine dans un fichier à la position du pointeur
rewind($fichier)
Remet le pointeur en début de fichier (position 0)
fseek($fichier, nPosition)
Positionne le pointeur à la position voulue
fclose($fichier);
Fermeture du fichier
Exemples
<?php
/*
MODE D'OUVETURE D'UN fichier
'r' Ouvre en lecture seule,
'r+' Ouvre en lecture et écriture
'w' Ouvre en écriture seule; // efface les anciennes données
'w+' Ouvre en lecture et écriture; // efface les anciennes données
'a' Ouvre en écriture seule;
'a+' Ouvre en lecture et écriture;
*/
// AFFICHAGE DU CONTENU CARACTERE PAR CARACTERE
// ============================================
// Ouverture du fichier
$data = fopen("data.txt", "r");
$char = fgetc($data); // Premier car. Lecture caractère par caracère...
// On vérifie si est un caracètre...
while ($char == true) {
// On affiche le caractère
echo $char;
// On récupère le caracère suivant...
$char = fgetc($data); // Lecture du caractère suivant...
}
// Fermeture du fichier
fclose($data);
echo "<br><br><br><br>";
// AFFICHAGE DU CONTENU LIGNE PAR LIGNE
// ====================================
// Ouverture du fichier
$data = fopen("data.txt", "r");
$line = fgets($data); // Lecture de la première ligne du fichier
while (feof($data) == false) {
echo $line."<br>";
$line = fgets($data); // Lecture de la ligne suivante...
}
// Fermeture du fichier
fclose($data);
echo "<br><br><br><br>";
// RECUPERATION DU CONTENU DANS UNE VARIABLE
// =========================================
// Ouverture du fichier
$data = fopen("data.txt", "r");
$contenu = fread($data, 10000); // récupère les 10 000 premiers caractères...
echo $contenu;
// Fermeture du fichier
fclose($data);
echo "<br><br><br><br>";
// ECRIRE DANS UN FICHIER (EFFACE LES ANCIENNES DONNEES)
// ====================================================
// Ouverture du fichier
$data = fopen("data_add.txt", "w");
// PHP_EOL effectue un retour à la ligne tel que \r\n ...
fwrite($data,"BIENVENUE :)\n");
fwrite($data,"Ligne n°1 TEST d'écriture".PHP_EOL);
fwrite($data,"Ligne n°2 TEST d'écriture".PHP_EOL);
fwrite($data,"Ligne n°3 TEST d'écriture");
echo "Ecriture dans le fichier <b>data_add.txt</b> effectué !";
echo "<BR>Pointeur actuel :".ftell($data); // Position du pointeur dans le fichier...
rewind($data); // Revenir en début du fichier...
echo "<BR>Pointeur actuel après la fonction rewind() :".ftell($data); // Position du pointeur dans le fichier...
// SI ON REECRIT...
fwrite($data,"SALUT LES AMIS"); // ECRASE LES CARACTERES A LA POSITION DU POINTEUR
// Fermeture du fichier
fclose($data);
echo "<br><br><br><br>";
// AJOUT DES DONNEES DAnS UN FICHIER
// =================================
// Ouverture du fichier
$data = fopen("data_add.txt", "a");
// PHP_EOL effectue un retour à la ligne tel que \r\n ...
fwrite($data,PHP_EOL."AJOUT".PHP_EOL);
fwrite($data,"TEST d'écriture");
echo "Données ajoutés dans <b>data_add.txt</b>";
// Fermeture du fichier
fclose($data);
echo "<br><br><br><br>";
// AJOUT DES DONNEES DAnS UN FICHIER
// =================================
// Ouverture du fichier
$data = fopen("data_NEW.txt", "w");
// PHP_EOL effectue un retour à la ligne tel que \r\n ...
$contenu = "test d'écriture d'un contenu".PHP_EOL."avec la fonction fputs()".PHP_EOL;
fputs($data,$contenu);
fseek($data,10); // REmet le pointeur à la position 10
fputs($data,$contenu); // écroit à partir de la position 10
echo "Données ajoutés dans <b>data_NEW.txt</b>";
// Fermeture du fichier
fclose($data);
?>
0 commentaires