Si le stockage et l'accès à des données se fait très souvent par l'intermédiaire de bases de données, le recours à de simples fichiers est parfois utile, voire nécessaire.

Comme à son habitude, PHP fournit un grand nombre de fonctions pour traiter les fichiers.

Pour les exemples, nous utiliserons le dossier test_fichiers avec le contenu et l'arborescence ci-contre.

Ce dossier se trouve dans le dossier test du tutoriel. Vous pouvez voir son contenu avec le bouton dans la barre de menu du tutoriel.

Si vous ne voyez pas ce dossier, ou si vous voulez le ré-initialiser utilisez ce script.

Existence d'un fichier

Nous commencerons par déterminer si un fichier existe avec la fonction file_exists().

Exemple : existence d'un fichier

La fonction file_exists() ne différencie pas les fichiers des dossiers. Si nous l'utilisons avec un nom de dossier, elle renverra aussi TRUE si le dossier existe, FALSE sinon. Notre dossier test contient un sous-dossier images et un sous-dossier export. Si nous passons ces noms comme argument à file_exists(), le résultat sera TRUE.

Exemple : existence d'un fichier

Dossier ou fichier ?

Heureusement, des fonctions nous indiquent quel est le type d'un fichier, et en particulier : is_dir() et is_file().

Exemple : existence et type d'un fichier

Chemin d'accès

Nous pouvons obtenir le chemin d'accès complet et absolu d'un fichier avec la fonction realpath(). Cette fonction ne vérifie pas que le fichier existe. Elle renvoie un chemin d'accès à partir de la racine du disque dur du serveur.

La fonction dirname() renvoie la partie dossiers d'un chemin d'accès. La fonction baseName() renvoie le nom de fichier d'un chemin d'accès.

Exemple : chemin absolu

La fonction pathinfo() renvoie des informations sur un chemin sous la forme d'un tableau associatif de trois clés : dirname, baseName et extension.

Exemple : chemin