Anda di halaman 1dari 11

Les fichiers Les fichiers

PHP PHP
Gnralits
De nombreuses applications travaillent avec des fichiers
Les fichiers permettent de sauvegarder des donnes sur
disque et les rendent en quelque sorte prennes
Fichiers 2 PHP
PHP prend en charge laccs au systme de fichiers du
systme dexploitation du serveur
Les oprations sur les fichiers concernent la cration,
louverture, la suppression, la copie, la lecture et lcriture
de fichiers
Les fichiers texte
Fichier texte
Un fichier texte est un fichier caractre, construit sous un diteur de
texte
Il est organis sous la forme dune suite de lignes de caractres
Le fichier est suffix par .txt
Comment travailler sur un fichier texte ?
Fichiers 3 PHP
Comment travailler sur un fichier texte ?
Pour travailler sur un fichier texte, il faut louvrir
On utilise pour cela fonction fopen
Exemple : ici on ouvre le fichier en lecture : " r"
<?php
$f=fopen("exemple.txt","r");
?>
Les diffrents modes douverture
Mode Description
r
ouverture en lecture seulement
w
ouverture en criture seulement (la fonction cre le fichier s'il n'existe pas)
Fichiers 4 PHP
a
ouverture en criture seulement avec ajout du contenu la fin du fichier (la
fonction cre le fichier s'il n'existe pas)
r+
ouverture en lecture et criture
w+
ouverture en lecture et criture (la fonction cre le fichier s'il n'existe pas)
a+
ouverture en lecture et criture avec ajout du contenu la fin du fichier (la
fonction cre le fichier s'il n'existe pas)
Les fichiers texte
Note
Si la fonction fopen() choue lors de l'ouverture du fichier, celle ci
retourne 0
Exemple :
<?php
if (!($f=fopen("exemple.txt","r")))
exit("Unable to open file!");
Fichiers 5 PHP
exit("Unable to open file!");
?>
Fermer un fichier
La fonction fclose() est utilise pour fermer un fichier Exemple : ici
on ouvre le fichier en lecture : " r"
<?php
fclose($f);
?>
Les fichiers texte
crire dans un fichier
L'criture dans un fichier texte se fait avec la fonction fwrite().
Pour faire des retours la ligne vous devez utiliser : "\r\n"
<?php
$f = 'exemple.txt';
$text = "ma chaine de caractres";
$handle = fopen($f,"w");
// Regarde si le fichier est accessible en criture
if (is_writable($f)) {
Fichiers 6 PHP
if (is_writable($f)) {
// Ecriture
if (fwrite($handle, $text) === FALSE) {
echo 'Impossible d\'crire dans le fichier '.$f.'';
exit;
}
echo 'Ecriture termin';
fclose($handle);
}
else {
echo 'Impossible d\'crire dans le fichier '.$f.'';
}
?>
Les fichiers texte
Compter le nombre de lignes
A l'aide de deux fonctions
L'une place le fichier dans un tableau et l'autre compte les lignes du tableau
<?php
$f = 'exemple.txt';
if(file_exists($f)) {
$tab = file($f); // place le fichier dans un tableau
$nb = count($tab); // compte le nombre de ligne
Fichiers 7 PHP
$nb = count($tab); // compte le nombre de ligne
echo $nb; // Affiche le rsultat
}
?>
Trouver la fin d'un fichier
La fonction feof() est utilise pour tester la fin du fichier
<?php
if (feof($f))
echo 'Fin du fichier';
?>
Les fichiers texte
Rcuprer le contenu
Nous allons nous servir de la fonction file_get_contents pour rcuprer
l'intgralit du fichier
<?php
$contents = file_get_contents("url du fichier");
// ou avec fopen, fread, fclose
$fd = fopen($url, 'r'); // Ouverture du fichier en lecture seule
Fichiers 8 PHP
$fd = fopen($url, 'r'); // Ouverture du fichier en lecture seule
while(!feof($fd)) {
$contents .= fread($fd, 8192); //Rcupre le contenu du
fichier et le place dans une chane de caractres
}
fclose($fd); //Fermeture du fichier
?>
Les fichiers texte
Comment lire caractre par caractre ?
La fonction fgetc() est utilise pour lire les caractres dans un fichier
Exemple :
L'exemple suivant fait la lecture du fichier caractre par caractre
jusqu'a la fin du fichier
<?php
if (!($f=fopen("exemple.txt","r")))
Fichiers 9 PHP
if (!($f=fopen("exemple.txt","r")))
exit("Impossible d'ouvrir le fichier.");
while (!feof($f)) {
$texte=fgetc($f);
echo $texte;
}
fclose($f);
?>
Les fichiers texte
Comment lire un fichier ligne par ligne ?
On utilise la fonction fgets() qui permet de lire une ligne d'une seule traite
Exemple :
<?php
$ressource_fichier = fopen('test.txt', 'r');
if($ressource_fichier) //Si $ressource_fichier ne vaut pas FALSE on peut
continuer
{
Fichiers 10 PHP
{
$contenu_fichier = '';
while(!feof($ressource_fichier)) //Tant que l'on est pas la fin du fichier
{
$contenu_fichier .= fgets($ressource_fichier);//Rcupre la
ligne en cours et l'ajoute au contenu de la variable
$contenu_fichier
}
fclose($ressource_fichier);
echo $contenu_fichier; //affiche le contenu du fichier
}
?>
Les fichiers texte
Lire un fichier sous forme de tableau
Pour placer le contenu du fichier dans une variable sous forme de chane
et afficher le fichier (comme nous l'avons fait pour les exemples
prcdents) on procdera de cette faon :
<?php
$tableau = file('test.txt'); //Place le contenu du fichier dans un tableau, on
suppose que le fichier existe sous peine d'avoir une erreur
if(is_array($tableau)) //Si la variable $tableau est bien un tableau, on peut
Fichiers 11 PHP
if(is_array($tableau)) //Si la variable $tableau est bien un tableau, on peut
continuer
{
$contenu_fichier = '';
foreach($tableau AS $ligne)
{
$contenu_fichier .= $ligne;
}
echo $contenu_fichier; //Affiche le contenu du fichier, notez que l'on a
pas besoin d'utiliser fclose() ici
}
?>