Le langage PHP dispose de nombreuses fonctions permettant de travailler sur le système de fichiers.

Fonction
Description
$chaine = basename($chemin_fichier);
retourne le nom du fichier à partir de l'adresse du fichier spécifiée.
true | false = chgrp($nom_fichier, $groupe_proprietaire);
modifie le groupe propriétaire du fichier.
true | false = chmod($nom_fichier, $mode);
modifie le mode exprimé en nombre octal, du fichier.
true | false = chown($nom_fichier, $proprietaire);
modifie le groupe propriétaire du fichier.
clearstatcache();
efface la mémoire cache remplie par les fonctions lsat et stat.
true | false = copy($fichier, $nouveau_fichier);
copie un fichier vers une nouvelle destination.
delete($fichier);
efface le fichier.
$chaine = dirname($chemin);
retourne le nom du dossier parent.
$nombre = disk_free_space($dossier);
retourne l'espace disponible sur le disque sur lequel est le dossier.
$nombre = diskfreespace($dossier);
identique à disk_free_space.
$nombre = disk_total_space($dossier);
retourne la taille totale d'un dossier.
true | false = fclose($ID_fichier);
ferme un fichier indiqué par un identificateur retourné par fopen ou fsockopen.
true | false = feof($ID_fichier);
teste la fin du fichier.
true | false = fflush($ID_fichier);
écrit les données présentes dans la mémoire tampon (buffer), dans un fichier.
$chaine = fgetc($ID_fichier);
retourne le caractère sélectionné par le pointeur du fichier.
$tableau = fgetcsv($ID_fichier, $nombre, $chaine);
retourne la ligne courante et cherche les champs d'un fichier CSV (fichier de valeurs séparées par des virgules).
$chaine = fgets($ID_fichier, $longueur);
retourne la ligne courante jusqu'à soit un retour charriot, soit la fin du fichier, soit la longueur spécifiée.
$chaine = fgetss($ID_fichier, $longueur [, $balises]);
retourne la ligne courante à l'instar de fgets en supprimant les balises HTML et PHP ou juste celles spécifiées.
$tableau = file($chaine, $longueur);
lit le fichier et retourne le résultat dans un tableau.
file_exists($fichier [, $inclure_chemin]);
vérifie l'existance d'un fichier et éventuellement de son chemin si le second argument est égale à '1'.
$date | false = fileatime($fichier);
retourne la date du dernier accès sur le fichier.
$heure | false = filectime($fichier);
retourne l'heure du dernier accès sur le fichier.
$nombre | false = filegroup($fichier);
retourne le nom du groupe sous une forme numérique.
$nombre | false = fileinode($fichier);
retourne le numéro d'inode du fichier.
$date | false = filemtime($fichier);
retourne la date de dernière modification du fichier.
$nombre | false = fileowner($fichier);
retourne sous forme numérique, le nom du propriétaire du fichier.
$nombre | false = fileperms($fichier);
retourne sous forme numérique, les permissions affectées au fichier.
$nombre = filesize($fichier);
retourne la taille du fichier en octets.
$chaine = filetype($fichier);
retourne le type de fichier (block, char, dir, fifo, file, link, et unknown).
true | false = flock($ID_fichier, $nombre);
verrouille le fichier avec un nombre égal à '1', en écriture '2' ou le déverrouille '3'.
ID_fichier | false = fopen($fichier, $mode, $inclure_chemin);
ouvre un fichier ou une adresse URL selon un mode et éventuellement en incluant le chemin si le dernier argument est égal à '1'.
Mode Description
r ouvre le fichier en lecture seule.
r+ ouvre le fichier en lecture et en écriture.
w ouvre le fichier en écriture seule ou tente de le créer s'il n'existe pas.
w+ ouvre le fichier en lecture et en écriture ou tente de le créer s'il n'existe pas.
a ouvre le fichier en écriture seule ou tente de le créer s'il n'existe pas.
a+ ouvre le fichier en lecture et en écriture; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.
b utilisable uniquement sous Windows, ouvre un fichier en mode binaire.
$nombre | false = fpassthru($ID_fichier);
lit le fichier du pointeur jusqu'à la fin et dirige le résultat vers la sortie standard.
$nombre = fputs($ID_fichier, $chaine [, $longueur]);
écrit la chaîne de caractères dans un fichier et éventuellement jusqu'à une longueur fournie.
$chaine = fread($ID_fichier, $longueur);
lit le fichier en mode binaire et éventuellement jusqu'à une certaine longueur.
$valeur = fscanf($ID_fichier, $format [, &$var, ..., &$varN]);
retourne les valeurs d'un fichier selon un format précis dans un tableau ou affecte ces valeurs aux variables spécifiées en renvoyant le nombre de valeurs affectées.
true | false = fseek($ID_fichier, $position);
déplace le pointeur de fichier à la position spécifiée.
$tableau = fstat($ID_fichier);
retourne des informations sur un fichier.
Mode Description
1 volume
2 inode
3 mode de protection du inode
4 nombre de liens
5 id de l'utilisateur propriétaire
6 id du groupe propriétaire
7 type du volume de l'inode
8 taille en octets
9 date du dernier accès
10 date de la dernière modification
11 date du dernier changement
12 taille de bloc du système pour les entrées-sorties
13 Nombre de blocs alloués
$nombre | false = ftell($ID_fichier);
retourne la position du pointeur du fichier.
true | false = ftruncate($ID_fichier, $taille);
tronque un fichier à la taille spécifiée.
$nombre = fwrite($ID_fichier, $chaine [, $longueur]);
écrit en mode binaire, la chaîne de caractères dans un fichier et éventuellement jusqu'à une longueur fournie.
0 | EOF = set_file_buffer($ID_fichier, $taille);
détermine la taille de la mémoire tampon (buffer) utilisée en écriture dans le fichier.
true | false = is_dir($fichier);
vérifie si le nom du fichier est un dossier.
true | false = is_executable($fichier);
vérifie si le fichier est un exécutable.
true | false = is_file($fichier);
vérifie si le fichier en est effectivement un.
true | false = is_link($fichier);
vérifie si le fichier est un lien.
true | false = is_readable($fichier);
vérifie si le fichier est autorisé en lecture.
true | false = is_writable($fichier);
vérifie si le fichier est autorisé en écriture.
true | false = is_writeable($fichier);
vérifie si le fichier est autorisé en écriture.
true | false = is_uploaded_file($fichier);
vérifie si le fichier a bien été téléchargé par la méthode HTTP POST.
true | false = link($cible, $lien);
crée un lien.
$nombre | false = linkinfo($chemin);
retourne le champ st_dev de la structure d'information UNIX, à propos d'un lien.
true | false = mkdir($chemin, $mode_octal);
crée un dossier selon le chemin spécifié.
true | false = move_uploaded_file($fichier, $destination);
déplace un fichier téléchargé vers un emplacement spécifié.
$tableau = parse_ini_file($fichier [, $bool_section]);
retourne un tableau associatif contenant les champs et les valeurs d'un fichier de configuration *.ini. Si le second argument est égal à true, un tableau multidimensionnel sera retourné avec pour clés les noms de section.
$tableau = pathinfo($chemin);
retourne des informations sur un chemin système sous forme d'un tableau associatif avec les clés dirname, basename et extension.
$nombre = pclose($ID_fichier);
ferme un processus de pointeur de fichier.
$nombre = popen($ID_fichier);
ouvre un processus de pointeur de fichier.
$nb_octets = readfile($fichier [, $inclure_dossier]);
lit un fichier et l'envoie à la sortie standard. Si le dernier argument vaut '1' alors la recherche du fichier inclut le dossier.
$chaine | false = readlink($lien);
retourne le nom du fichier vers lequel pointe le lien.
true | false = rename($nom_fichier, $nouveau_nom_fichier);
renomme un fichier.
true | false = rewind($ID_fichier);
replace le pointeur au début du fichier.
true | false = rmdir($chemin);
efface un dossier.
$tableau = stat($fichier);
retourne les informations à propos d'un fichier dans un tableau (voir fstat).
$tableau = lstat($fichier);
retourne les informations à propos d'un fichier ou d'un lien à l'instar de la fonction stat.
$chaine = realpath($chemin);
retourne le chemin absolu du chemin spécifié.
true | false = symlink($cible, $lien);
crée un lien.
$chaine | NULL = tempnam($chemin, $prefixe);
crée un fichier temporaire unique dans le dossier spécifié.
$ID = tmpfile();
crée un fichier temporaire et retourne un identificateur semblable à celui de fopen.
true | false = touch($fichier, $date);
force la date de modification du fichier à la date spécifiée, par défaut à la date courante.
$nombre = umask([$nombre_octal]);
modifie le umask courant de PHP.
true | false = unlink($fichier);
efface un fichier.