27
17:25:34 17:25:34 Programmation Web 2012-2013 Programmation Web 2012-2013 1 PHP PHP Accès au système de Accès au système de fichiers fichiers Jérôme CUTRONA Jérôme CUTRONA [email protected] [email protected]

PHP Accès au système de fichiers

  • Upload
    zeke

  • View
    30

  • Download
    1

Embed Size (px)

DESCRIPTION

PHP Accès au système de fichiers. Jérôme CUTRONA [email protected]. Préambule. - PowerPoint PPT Presentation

Citation preview

Page 1: PHP Accès au système de fichiers

22:46:5822:46:58 Programmation Web 2012-2013Programmation Web 2012-2013 11

PHPPHPAccès au système de fichiersAccès au système de fichiers

Jérôme CUTRONAJérôme CUTRONA

[email protected]@univ-reims.fr

Page 2: PHP Accès au système de fichiers

2222:46:5822:46:58 Programmation Web 2012-2013Programmation Web 2012-2013

PréambulePréambule

L'accès au système de fichiers en PHP est réalisé par le L'accès au système de fichiers en PHP est réalisé par le moteur PHP. Plus précisément, c'est moteur PHP. Plus précisément, c'est le serveur Web qui le serveur Web qui accède aux fichiersaccède aux fichiers. Ce sont donc les . Ce sont donc les droits d'accès de droits d'accès de l'utilisateur "web"l'utilisateur "web" qui sont mis en jeu avec toutes les qui sont mis en jeu avec toutes les limitationslimitations que cela comporte ! que cela comporte !

Les pseudo-types présentés dans les diapositives Les pseudo-types présentés dans les diapositives suivantes sont donnés à titre suivantes sont donnés à titre informatifinformatif..

Toutes les fonctions travaillent à partir du Toutes les fonctions travaillent à partir du répertoire répertoire courantcourant (par défaut, celui du script) (par défaut, celui du script)

Les fonctions présentées retournent souvent Les fonctions présentées retournent souvent falsefalse en en cas d'écheccas d'échec et affichent parfois des avertissements dans et affichent parfois des avertissements dans ce casce cas

Page 3: PHP Accès au système de fichiers

3322:46:5822:46:58 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions "commande shell"Fonctions "commande shell"

chmodchmod : : modifier les droits d'accèsmodifier les droits d'accès chownchown : : modifier le propriétairemodifier le propriétaire chgrpchgrp : : modifier le groupemodifier le groupe mkdirmkdir : : créer un répertoirecréer un répertoire rmdirrmdir : : détruire un répertoiredétruire un répertoire copycopy : : copier un fichiercopier un fichier basenamebasename : : donner le nom d'un fichierdonner le nom d'un fichier dirnamedirname : : donner le chemin d'un fichierdonner le chemin d'un fichier linklink : : créer un lien physiquecréer un lien physique symlinksymlink : : créer un lien symboliquecréer un lien symbolique unlinkunlink : : détruire un liendétruire un lien touchtouch : : changer la date de modificationchanger la date de modification

Page 4: PHP Accès au système de fichiers

4422:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions "commande shell"Fonctions "commande shell"

bool bool chmodchmod ( string ( string filenamefilename, int , int modemode ) )

remplace le mode de remplace le mode de filenamefilename par le mode par le mode modemode

ex : chmod("foo.txt", 0644) ;ex : chmod("foo.txt", 0644) ;

bool bool chownchown ( ( stringstring filenamefilename, , mixedmixed useruser ) )

change l’utilisateur propriétaire courant du fichier change l’utilisateur propriétaire courant du fichier filenamefilename en en useruser

ex : chown("foo.txt", "cutrona") ;ex : chown("foo.txt", "cutrona") ;

bool bool chgrpchgrp ( string ( string filenamefilename, mixed , mixed groupgroup ) )

remplace le groupe propriétaire courant du fichier remplace le groupe propriétaire courant du fichier filenamefilename par par groupgroup

ex : chgrp("foo.txt", "prof") ;ex : chgrp("foo.txt", "prof") ;

Page 5: PHP Accès au système de fichiers

5522:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions "commande shell"Fonctions "commande shell"

bool bool mkdirmkdir (string (string pathnamepathname [, int [, int modemode [, bool [, bool recursiverecursive ]]) ]])

crée un répertoire crée un répertoire pathnamepathname avec le mode avec le mode modemode de façonde façon récursiverécursive

ex : mkdir("rep12", 0755) ;ex : mkdir("rep12", 0755) ;

bool bool rmdirrmdir ( string ( string dirnamedirname ) )

efface le répertoire dont le chemin est efface le répertoire dont le chemin est dirnamedirname. Le . Le répertoire doit être viderépertoire doit être vide

ex : rmdir("rep12") ;ex : rmdir("rep12") ;

bool bool copycopy ( string ( string sourcesource, string , string destdest ) )

effectue une copie du fichier effectue une copie du fichier sourcesource vers le fichier vers le fichier destdest

ex : copy("fic.txt", "copie_fic.txt") ;ex : copy("fic.txt", "copie_fic.txt") ;

Page 6: PHP Accès au système de fichiers

6622:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions "commande shell"Fonctions "commande shell"

string string basenamebasename ( string ( string pathpath [, string [, string suffixsuffix] )] )

extrait le nom du fichier (au sens large) dans le chemin extrait le nom du fichier (au sens large) dans le chemin pathpath.. Si Si suffixsuffix est fourni, il sera supprimé dans le nom du est fourni, il sera supprimé dans le nom du fichierfichier

ex : basename("/home/prof/cutrona/public_html") ;ex : basename("/home/prof/cutrona/public_html") ;

public_htmlpublic_html

string string dirnamedirname ( string ( string pathpath ) )

donne le chemin du fichier (au sens large) contenu dans donne le chemin du fichier (au sens large) contenu dans pathpath

ex : dirname("/home/prof/cutrona/public_html") ;ex : dirname("/home/prof/cutrona/public_html") ;

/home/prof/cutrona/home/prof/cutrona

Page 7: PHP Accès au système de fichiers

7722:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions "commande shell"Fonctions "commande shell"

bool bool linklink ( string ( string targettarget, string , string linklink ) )

crée un lien de nom crée un lien de nom linklink vers le fichier destination existant vers le fichier destination existant targettarget

ex : link("foo.txt", "bob") ;ex : link("foo.txt", "bob") ;

bool bool symlinksymlink ( string ( string targettarget, string , string linklink ) )

crée un lien symbolique de nom crée un lien symbolique de nom linklink vers le fichier vers le fichier destination existant destination existant targettarget

ex : symlink("foo.txt", "bob") ;ex : symlink("foo.txt", "bob") ;

bool bool unlinkunlink ( string ( string filenamefilename ) )efface le fichier efface le fichier filenamefilename

ex : unlink("foo.txt") ;ex : unlink("foo.txt") ;

WindowsWindowsWindowsWindows

WindowsWindowsWindowsWindows

Page 8: PHP Accès au système de fichiers

8822:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions "commande shell"Fonctions "commande shell"

bool bool touchtouch ( string ( string filenamefilename [, int [, int timetime [, int [, int atimeatime]] )]] )

tente de forcer la date de modification du fichier désigné tente de forcer la date de modification du fichier désigné par le paramètre par le paramètre filenamefilename à la date de spécifiée par le à la date de spécifiée par le paramètre paramètre timetime. Le troisième paramètre . Le troisième paramètre atimeatime est utilisé est utilisé comme date de dernier accès. Si le fichier n'existe pas, comme date de dernier accès. Si le fichier n'existe pas, PHP tente de le créerPHP tente de le créertimetime et et atimeatime sont des timestamp UNIX (nombre de sont des timestamp UNIX (nombre de secondes depuis le 1er Janvier 1970 00:00:00 GMT) secondes depuis le 1er Janvier 1970 00:00:00 GMT)

int int mktimemktime ( [int ( [int hourhour [, int [, int minuteminute [, int [, int secondsecond [, int [, int monthmonth [, int [, int dayday [, int [, int yearyear [, int [, int is_dstis_dst]]]]]]] )]]]]]]] )

crée un timestamp UNIX correspondant aux paramètrescrée un timestamp UNIX correspondant aux paramètres

Page 9: PHP Accès au système de fichiers

9922:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions informativesFonctions informatives

file_existsfile_exists : : fichier existe ?fichier existe ? is_diris_dir : : est un répertoire ?est un répertoire ? is_fileis_file : : est un fichier régulier ?est un fichier régulier ? is_linkis_link : : est un lien symbolique ?est un lien symbolique ? filetypefiletype : : type de fichiertype de fichier is_readableis_readable : : est lisible ?est lisible ? is_executableis_executable : : est exécutable ?est exécutable ? is_writ[e]ableis_writ[e]able : : peut être modifié ?peut être modifié ?

Page 10: PHP Accès au système de fichiers

101022:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions informativesFonctions informatives

disk_free_spacedisk_free_space : : espace disponibleespace disponible disk_total_spacedisk_total_space : : espace occupéespace occupé filesizefilesize : : taille du fichiertaille du fichier fileatimefileatime : : date d'accèsdate d'accès filectimefilectime : : date de changement date de changement filemtimefilemtime : : date de modificationdate de modification fileownerfileowner : : propriétairepropriétaire filegroupfilegroup : : groupegroupe filepermsfileperms : : droits d'accèsdroits d'accès

Page 11: PHP Accès au système de fichiers

111122:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions informativesFonctions informatives

bool bool file_existsfile_exists ( string ( string filenamefilename ) )

retourne retourne truetrue si le fichier si le fichier filenamefilename existe, et existe, et falsefalse sinon sinon

ex : file_exists("foo.txt") ;ex : file_exists("foo.txt") ;

bool bool is_diris_dir ( string ( string filenamefilename ) )

retourne retourne truetrue si si filenamefilename existe et est un dossier existe et est un dossier

ex : is_dir("progweb1A") ;ex : is_dir("progweb1A") ;

bool bool is_fileis_file ( string ( string filenamefilename ) )

retourne retourne truetrue si si filenamefilename existe et est un fichier régulier existe et est un fichier régulier

ex : is_file("index.php") ;ex : is_file("index.php") ;

Page 12: PHP Accès au système de fichiers

121222:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions informativesFonctions informatives

bool bool is_linkis_link ( string ( string filenamefilename ) )

retourne retourne truetrue si si filenamefilename existe et est un lien symbolique existe et est un lien symbolique

ex : is_link("progweb1A/Cours") ;ex : is_link("progweb1A/Cours") ;

string string filetypefiletype ( string ( string filenamefilename ) )

renvoie le type du fichier renvoie le type du fichier filenamefilename. Réponses possibles :. Réponses possibles : fifo :fifo : file UNIXfile UNIX char :char : fichier spécial de type caractèrefichier spécial de type caractère dir :dir : répertoirerépertoire block :block : fichier spécial de type blocfichier spécial de type bloc link :link : lien symboliquelien symbolique file :file : fichier régulierfichier régulier unknown :unknown : inconnuinconnu

Page 13: PHP Accès au système de fichiers

131322:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions informativesFonctions informatives

bool bool is_readableis_readable ( string ( string filenamefilename ) )

retourne retourne truetrue si le fichier ou le dossier si le fichier ou le dossier filenamefilename existe et est existe et est accessible en lecture. accessible en lecture.

ex : is_readable("foo.txt") ;ex : is_readable("foo.txt") ;

bool bool is_writ[e]ableis_writ[e]able ( string ( string filenamefilename ) )

retourne retourne truetrue si si filenamefilename existe et est accessible en existe et est accessible en écriture. écriture.

ex : is_writable("foo.txt") ;ex : is_writable("foo.txt") ;

bool bool is_executableis_executable ( string ( string filenamefilename ) )

retourne retourne truetrue si si filenamefilename existe et est exécutable. existe et est exécutable.

ex : is_executable("index.php") ;ex : is_executable("index.php") ;

Page 14: PHP Accès au système de fichiers

141422:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions informativesFonctions informatives

float float disk_free_spacedisk_free_space ( string ( string directorydirectory ) )

retourne le nombre d'octets disponibles sur le disque retourne le nombre d'octets disponibles sur le disque contenant le dossier contenant le dossier directorydirectory

ex : disk_free_space("/home/prof/cutrona/public_html") ;ex : disk_free_space("/home/prof/cutrona/public_html") ;

float float disk_total_spacedisk_total_space ( string ( string directorydirectory ) )

lit récursivement toutes les tailles du dossier lit récursivement toutes les tailles du dossier directorydirectory et et retourne la sommeretourne la somme

ex : disk_total_space("/home/prof/cutrona/public_html") ;ex : disk_total_space("/home/prof/cutrona/public_html") ;

int int filesizefilesize ( string ( string filenamefilename ) )

renvoie la taille du fichier renvoie la taille du fichier filenamefilename

ex : filesize("index.php") ;ex : filesize("index.php") ;

Page 15: PHP Accès au système de fichiers

151522:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions informativesFonctions informatives

int int fileatimefileatime ( string ( string filenamefilename ) )

renvoie la date de dernier renvoie la date de dernier accès auaccès au contenucontenu de de filenamefilename

ex : fileatime("index.php") ;ex : fileatime("index.php") ;

int int filectimefilectime ( string ( string filenamefilename ) )

renvoie la date à laquelle les renvoie la date à laquelle les propriétés du fichierpropriétés du fichier filenamefilename ont été ont été changéeschangées pour la dernière fois pour la dernière fois

ex : filectime("index.php") ;ex : filectime("index.php") ;

int int filemtimefilemtime ( string ( string filenamefilename ) )

renvoie la date de dernière renvoie la date de dernière modification dumodification du contenucontenu du du fichier fichier filenamefilename

ex : filemtime("index.php") ;ex : filemtime("index.php") ;

Page 16: PHP Accès au système de fichiers

161622:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions informativesFonctions informatives

int int fileownerfileowner ( string ( string filenamefilename ) )

renvoie renvoie l'l'uiduid du propriétaire du fichier du propriétaire du fichier filenamefilename

arrayarray posix_getpwuidposix_getpwuid ( ( intint uiduid ) )

ex : fileowner("index.php") ;ex : fileowner("index.php") ;

int int filegroupfilegroup ( string ( string filenamefilename ) )

renvoie le renvoie le gidgid groupe qui possède le fichier groupe qui possède le fichier filenamefilename

array array posix_getgrgidposix_getgrgid ( int ( int gidgid ) )

ex : filegroup("index.php") ;ex : filegroup("index.php") ;

int int filepermsfileperms ( string ( string filenamefilename ) )

renvoie les permissions affectées au fichier renvoie les permissions affectées au fichier filenamefilename

ex : fileperms("index.php") ;ex : fileperms("index.php") ;

Page 17: PHP Accès au système de fichiers

171722:46:5922:46:59 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions de lecture/écritureFonctions de lecture/écriture

readfilereadfile : : contenu contenu sortie std sortie std file_get_contentsfile_get_contents : : contenu contenu chaîne chaîne filefile : : contenu contenu tableau tableau fopenfopen : : ouvrir un fichierouvrir un fichier freadfread : : lire dans un fichier ouvertlire dans un fichier ouvert fwritefwrite : : écrire dans un fichier ouvertécrire dans un fichier ouvert fseekfseek : : se déplacer dans un fichierse déplacer dans un fichier ftellftell : : position dans un fichierposition dans un fichier fgetcfgetc : : lire un caractèrelire un caractère fgetsfgets : : lire une lignelire une ligne fclosefclose : : fermeture d'un fichierfermeture d'un fichier

Page 18: PHP Accès au système de fichiers

181822:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions de lecture/écritureFonctions de lecture/écritureFichierFichier

CurseurCurseur

FichierFichier

CurseurCurseur

LectureLecture

Écriture avecÉcriture avecremplacementremplacement

FichierFichier

CurseurCurseur

Écriture avecÉcriture avecdestructiondestruction

FichierFichier

CurseurCurseur

Écriture avecÉcriture avecajout seulajout seul

Page 19: PHP Accès au système de fichiers

191922:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions de lectureFonctions de lecture

int int readfilereadfile ( string ( string filenamefilename ) )

lit le fichier lit le fichier filenamefilename et l'envoie sur la sortie standard. et l'envoie sur la sortie standard.

retourne le nombre d'octets lus depuis le fichierretourne le nombre d'octets lus depuis le fichier

ex : readfile("index.html") ;ex : readfile("index.html") ;

string string file_get_contentsfile_get_contents ( string ( string filenamefilename ))

lit le fichier lit le fichier filenamefilename et place son contenu dans une chaîne et place son contenu dans une chaîne

ex : $s = file_get_contents("liste.txt") ;ex : $s = file_get_contents("liste.txt") ;

array array filefile ( string ( string filenamefilename ) )lit le fichier lit le fichier filenamefilename et place son contenu dans un tableau et place son contenu dans un tableau

dont chaque élément contient une ligne du fichierdont chaque élément contient une ligne du fichierex : $t = file("liste.txt") ;ex : $t = file("liste.txt") ;

Page 20: PHP Accès au système de fichiers

202022:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions de lecture/écritureFonctions de lecture/écriture

resource resource fopenfopen ( string ( string filenamefilename, string , string modemode ) )

crée une ressource nommée, spécifiée par le paramètre crée une ressource nommée, spécifiée par le paramètre filenamefilename, sous la forme d'un flux ouvert selon le , sous la forme d'un flux ouvert selon le modemode

ex : $fp = fopen("index.html", 'r+') ;ex : $fp = fopen("index.html", 'r+') ;

ModeMode DescriptionDescription'r''r' Lecture, curseur au débutLecture, curseur au début'r+''r+' Lecture/écriture, curseur au débutLecture/écriture, curseur au début'w''w' Écriture, curseur au début, RAZÉcriture, curseur au début, RAZ'w+''w+' Lecture/écriture, curseur au début, RAZLecture/écriture, curseur au début, RAZ'a''a' Écriture, curseur à la fin, fseek HSÉcriture, curseur à la fin, fseek HS'a+''a+' Lecture/écriture, curseur à la fin, fseek HSLecture/écriture, curseur à la fin, fseek HS'x''x' Création, écriture, échec si existeCréation, écriture, échec si existe'x+''x+' Création, lecture/écriture, échec si existeCréation, lecture/écriture, échec si existe

Page 21: PHP Accès au système de fichiers

212122:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions de lecture/écritureFonctions de lecture/écriture

string string freadfread ( resource ( resource handlehandle, int , int lengthlength ) )

lit jusqu'à lit jusqu'à lengthlength octets dans le fichier référencé par octets dans le fichier référencé par handlehandle

int int fwritefwrite ( resource ( resource handlehandle, string , string stringstring [, int [, int lengthlength] )] )

écrit le contenu de la chaîne écrit le contenu de la chaîne stringstring dans le fichier référencé dans le fichier référencé par par handlehandle à concurrence de à concurrence de lengthlength octets, ou de la taille octets, ou de la taille de la chaîne de la chaîne stringstring

boolbool fclosefclose ( ( resourceresource handlehandle ) )

ferme le fichierferme le fichier référencé par référencé par handlehandle

Page 22: PHP Accès au système de fichiers

222222:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions de lecture/écritureFonctions de lecture/écriture

int int fseekfseek ( resource ( resource handlehandle, int , int offsetoffset [, int [, int whencewhence] )] )

modifie le curseur de position dans le fichier référencé par modifie le curseur de position dans le fichier référencé par handlehandle. La nouvelle position mesurée en octets à partir . La nouvelle position mesurée en octets à partir du début du fichier, est obtenue en additionnant la du début du fichier, est obtenue en additionnant la distance distance offsetoffset à la position à la position whencewhence : :

SEEK_SETSEEK_SET - Position finale = - Position finale = offsetoffset octets. octets. SEEK_CURSEEK_CUR - Position finale = position courante + - Position finale = position courante + offsetoffset octets. octets. SEEK_ENDSEEK_END - Position finale = position fin du fichier + - Position finale = position fin du fichier + offsetoffset..

int int ftellftell ( resource ( resource handlehandle ) )

retourne la position courante, en octets, du curseur dans le retourne la position courante, en octets, du curseur dans le fichier référencé par fichier référencé par handlehandle

Page 23: PHP Accès au système de fichiers

232322:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions de lecture/écritureFonctions de lecture/écriture

string string fgetcfgetc ( resource ( resource handlehandle ) )

retourne une chaîne contenant un seul caractère, lu depuis retourne une chaîne contenant un seul caractère, lu depuis le fichier référencé par le fichier référencé par handlehandle

string string fgetsfgets ( resource ( resource handlehandle [, int [, int lengthlength] )] )

retourne une ligne du fichier référencé par retourne une ligne du fichier référencé par handlehandle jusqu'à la jusqu'à la longueur maximale longueur maximale lengthlength - 1 octets - 1 octets

Page 24: PHP Accès au système de fichiers

242422:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Exemple de boucle de lectureExemple de boucle de lecture

// Tentative d'ouverture du fichier// Tentative d'ouverture du fichier

ifif  (($$hh  == @ @fopenfopen((""dummy.txtdummy.txt", "", "rr""))))  {{

// Lecture du fichier ligne à ligne// Lecture du fichier ligne à ligne

    whilewhile  (((($$ligneligne  ==  fgetsfgets(($$hh))))  !==!==  falsefalse))  {{

     // Utilisation de $ligne// Utilisation de $ligne

    }}

    // Fermeture// Fermeture

    fclosefclose(($$hh)) ; ;

}}

Page 25: PHP Accès au système de fichiers

252522:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Fonctions de rechercheFonctions de recherche

fnmatchfnmatch : : contrôle de motifcontrôle de motif globglob : : recherche de cheminsrecherche de chemins

Page 26: PHP Accès au système de fichiers

262622:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Contrôle de motifContrôle de motif

bool bool fnmatchfnmatch ( string ( string momo , string , string ch ch [, int [, int flagflag] )] )

vérifie si la chaîne vérifie si la chaîne chch correspond au motif correspond au motif momo..

fnmatchfnmatch utilise une forme simple d'expressions utilise une forme simple d'expressions régulières équivalentes à celles utilisés en Shell régulières équivalentes à celles utilisés en Shell UNIX.UNIX.

ex : fnmatch("*gr[ae]y", $color)ex : fnmatch("*gr[ae]y", $color)

Page 27: PHP Accès au système de fichiers

272722:47:0022:47:00 Programmation Web 2012-2013Programmation Web 2012-2013

Recherche de cheminsRecherche de chemins

array array globglob ( string ( string momo [, int [, int flagflag] )] )

recherche tous les chemins correspondant au recherche tous les chemins correspondant au motif motif momo..

retourne un tableau contenant les noms des retourne un tableau contenant les noms des chemins trouvéschemins trouvés

valeurs possibles de valeurs possibles de flagflag : : GLOB_NOSORTGLOB_NOSORT – Pas de tri– Pas de tri GLOB_NOESCAPEGLOB_NOESCAPE –– Pas de protection des méta- Pas de protection des méta-

caractère avec un anti-slashcaractère avec un anti-slash GLOB_BRACEGLOB_BRACE –– Remplace {a,b,c} par 'a', 'b' ou 'c' Remplace {a,b,c} par 'a', 'b' ou 'c' GLOB_ONLYDIRGLOB_ONLYDIR –– Ne retourne que les dossiers Ne retourne que les dossiers