Je veux vérifier si un fichier a les extensions .php. si je l'ai inclus.comment vérifier si le fichier est php?
Quelqu'un pourrait-il m'aider avec un contrôle de regexp?
merci!
Je veux vérifier si un fichier a les extensions .php. si je l'ai inclus.comment vérifier si le fichier est php?
Quelqu'un pourrait-il m'aider avec un contrôle de regexp?
merci!
Habituellement, vous n'utilisez pas une expression régulière.
Ce qui suit est une méthode populaire à la place:
$extension=pathinfo($filename, PATHINFO_EXTENSION);
/\.php$/
Mais le mappage d'extension ne garantit pas que le contenu est ce que vous attendez, mais simplement qu'un fichier est nommé d'une manière particulière.
pathinfo est la solution la plus simple, mais vous pouvez également utiliser fnmatch
if(fnmatch('*.php', $filename)) { /* do something */ }
EDIT: comme des points @zombat sur dans les commentaires, si vous êtes après une solution rapide, alors la f uite est plus rapide que l'utilisation pathinfo
et fnmatch
:
if(substr($filename, -4) === '.php') { /* do something */ }
Gardez à l'esprit que pathinfo
, contrairement fnmatch
et substr
-t un basename
contrôle sur le chemin que vous fournissez, ce qui le rend un peu plus propre à mon avis.
En ce qui concerne la vitesse, fnmatch va surpasser pathinfo 2: 1 lorsqu'il est utilisé à cette fin. – webbiedave
Selon quelles preuves? – zaf
@Gordon pathinfo nécessite un fichier i/o ??? tu tire ma jambe...? – zaf
Bon point. Il y a beaucoup d'autres extensions de fichiers qui indiquent le contenu de PHP: .module, .inc, .test, .install, etc. – David