Exercices
Questions à choix multiple

Leçon N° 12 : Gestion des fichiers

Les fonctions de lecture
Les fonctions d'écriture
Droits lecture/ecriture dans un répertoire
Les fonctions de gestion de répertoire
Autres fonctions pratiques
Notes de page

Les fonctions de lecture dans des fichiers texte

Exercices sur la lecture des fichiers fexte :
La plus simple façon de lire un fichier
Nom du fichier : exercises_12/lesson_12_a0_read_a_file.php
Lire le contenu d'un fichier avec la fonction file
Nom du fichier : exercises_12/lesson_12_a_read_a_file.php
Lire le contenu d'un fichier ligne par ligne
Nom du fichier : exercises_12/lesson_12_b_read_a_file.php
Lire le contenu d'un fichier avec fread()
Nom du fichier : exercises_12/lesson_12_b1_read_a_file.php

Les fonctions d'écriture dans des fichiers texte

N'oubliez pas que vous devez avoir les autorisations adéquates pour pouvoir écrire dans un fichier. (voir paragraphe ci-après)
N'oubliez pas que suivant la façon (paramètre "mode") dont le fichier a été ouvert, un nouveau fichier sera créé remplaçant l'ancien (donc risque de perte de données) ou les données rajoutées au fichier existant.
Ecriture dans un fichier
Nom du fichier : exercises_12/lesson_12_c_writing.php
Réalisation d'un compteur de visite de page
Nom du fichier : exercises_12/lesson_12_d_counter.php

Droits lecture/ecriture dans un répertoire

Boolean chMod(string nom-du-fichier, int mode)
La fonction chMod modifie les permissions Unix pour le fichier spécifié. On retrouve toutes les autorisations disponibles sous Unix. Attention toutefois : le mode, à moins que vous indiquiez une constante numérique préfixée par un 0, est traité par la fonction comme un nombre décimal.
Sous Unix, on trouve trois chiffres qui spécifient les privilèges d'accès à un fichier pour un utilisateur particulier, un groupe et tous les autres.
Les modes peuvent s'ajouter pour combiner les privilèges.
Par exemple, pour rendre un fichier accessible en lecture et en exécution, utilisez le mode 5. Pour en savoir plus, reportez-vous, sous Unix, à la page de documentation (main page).
Les permissions d'accès (sous Unix) :
ModeDescription
0Pas d'accès
1Exécution
2Ecriture
4Lecture
Sous Windows, la fonction chMod est très limitée. Les modes décrits au tableau ci-dessus ont été définis par Microsoft et peuvent être combinés avec l'opérateur bitwise mais, en pratique, seule la permission en écriture a un sens.
En effet, sous Windows, tous les fichiers sont accessibles en lecture, et c'est leur extension qui détermine s'ils peuvent être exécutés.
Les permissions d'accès (sous Windows)
ModeDescription
0000400 Autorise la lecture pour un utilisateur
0000200 Autorise l'écriture pour un utilisateur
0000100 Autorise l'exécution et la recherche pour un utilisateur
Les fonctions de permission de fichiers vous informent sur le mode du fichier courant.
<?
/*Permettre à tout le monde d'écrire ou de lire le fichier (valable seulement sous Unix)*/
if(chMod("data.txt", 0666))
{
       print("mode change sucessfull");
}
else
{
       print("mode change unsucessfull");
}
?>
Ces fonctions appartiennent à un ensemble de trois fonctions qui modifient des informations similaires sur les fichiers. Les deux autres fonctions sont chGrp et chown.
Booléen chOwn(chaîne nom-du-fichier, chaîne nom de l'utilisateur) Le nom d'un utilisateur, associé à un fichier, peut être modifié par la cette fonction. Si l'opération réussit, la fonction renvoie TRUE, sinon FALSE. Sous Windows, elle ne déclenche aucune opération et renvoie toujours TRUE.
Pour connaître le propriétaire courant d'un fichier, il faut utiliser la fonction fileowner().

<?
// change le nom de l'utilisateur en leon
if(chown("data.txt","leon"))
{
       print("owner changed");
}
else
{
       print("owner not changed");
}
?>

Les fonctions de gestion de répertoire

Autres fonctions pratiques