PHP file_exists et génériques
Est-il un moyen d'écrire du PHP file_exists fonction de façon à ce qu'il recherche dans un répertoire d'un fichier avec une extension arbitraire. Par exemple, supposons que je savais qu'un fichier appelé "bonjour", mais je ne connaissais pas l'extension, comment pourrais-je écrire une fonction qui recherche un fichier appelé bonjour.* et retourné le nom de ce fichier? Aussi loin que je peux dire, file_exists recherche seulement une chaîne de caractères.
Grâce.
Vous devez vous connecter pour publier un commentaire.
Vous êtes à la recherche pour le
glob()
fonction.file_exists
n'est pas n'importe quel type de recherche : il ne permet de savoir si une fle existe ou pas, quand knowingf son nom.Et, avec PHP >= 5.3, vous pouvez utiliser la nouvelle
GlobIterator
.Comme un exemple avec
glob()
, la partie suivante de code :Me donne ce résultat :
Tandis que celui-ci :
Oui, avec deux
*
😉Me donnera :
*
; les caractères simples (?
) et des classes ([abc]
) pour n'en nommer que quelques-uns peuvent également être mis à profit dans la glob modèles.De PHP5.3, vous pouvez également utiliser le
GlobIterator
à la recherche d'un répertoire avec des caractères génériques:serait de retour les chemins d'accès complets à tous .pdf fichiers dans/chemin dans un tableau. Le ci-dessus effectue environ le même que
glob()
, mais les itérateurs de fournir une plus puissante et extensible API.Tant que file_exists renvoie une valeur BOOLÉENNE que j'ai écrit cette petite fonction
qui accepte une chaîne de recherche avec * pour rechercher des fichiers...
Exemple:
Si vous avez besoin d'un peu plus de contrôle et sont en pré PHP 5.3, vous pouvez utiliser un DirectoryIterator ou RecursiveDirectoryIterator. Les deux ont beaucoup de beaucoup de fonction pour le contrôle et la manipulation.
PHP docs sont à DirectoryIterator et RecursiveDirectoryIterator