Comment supprimer l'extension de fichier en PHP : 1. Utilisez la fonction pathinfo pour renvoyer une partie du nom complet du fichier ; 2. Utilisez la fonction basename pour supprimer l'extension du nom de fichier ; et les fonctions strrpos pour renvoyer aucune extension Le chemin complet et le nom de fichier du nom.
Recommandé : "Tutoriel vidéo PHP"
PHP supprime l'extension du nom de fichier (nom de fichier) de trois manières to Name (Extension)
Si vous avez un nom de fichier et que vous devez supprimer l'extension de PHP, il existe de nombreuses façons de le faire. Il existe trois méthodes ici.
Utilisez la fonction pathinfo()
La fonction pathinfo() renvoie un tableau contenant le nom de répertoire, le nom de base, l'extension et le nom de fichier. Alternativement, vous pouvez transmettre une constante PATHINFO_ et renvoyer cette partie du nom de fichier complet :
$filename ='filename.html'; $without_extension = pathinfo($filename, PATHINFO_FILENAME);
Si le nom de fichier contient un chemin complet, seul le nom de fichier sans l'extension est renvoyé.
Utilisez la fonction basename()
Si l'extension est connue et est la même pour tous les noms de fichiers, vous pouvez passer le deuxième argument facultatif à basename() pour le dire pour supprimer cette extension du nom de fichier :
$filename ='filename.html'; $without_extension = basename($filename,'.html');
Si le nom de fichier contient un chemin complet, seul le nom de fichier sans l'extension est renvoyé.
Utilisation de substr et strrpos
$filename ='filename.html'; $without_extension = substr($filename, 0, strrpos($filename, "."));
Si le nom de fichier contient un chemin complet, renvoie le chemin complet et le nom de fichier sans extension. Vous pouvez utiliser basename() pour supprimer le chemin, par exemple :
basename(substr($filename, 0, strrpos($filename, ".")));
bien que cela soit plus lent que d'utiliser pathinfo.
Comparaison de vitesse
Exécuter chacun de ces 10 000 000 de fois en boucle sur Mac en utilisant PHP 5.4 :
pathinfo:10.13秒 basename:7.87秒 substr / strrpos:6.05秒 basename(substr / strrpos):11.98秒
Si le nom de fichier ne contient pas le chemin complet, ou si ce n'est pas important, les options substr/strrpos semblent être les plus rapides.
Si le nom de fichier contient un chemin et que vous ne voulez pas le chemin mais savez quelle extension vous souhaitez supprimer, le nom de base semble être le plus rapide.
Si le nom du fichier contient un chemin, vous n'avez pas besoin du chemin et vous ne savez pas quelle est l'extension, alors utilisez l'option pathinfo().
Conclusion
Il existe de nombreuses autres façons de procéder, certaines peuvent être plus rapides. Dans de nombreux cas, la vitesse n'est pas si importante (10 secondes pour exécuter pathinfo équivalent à 100 000 fois après tout). Le but de cet article est de montrer quelques façons de supprimer les extensions des noms de fichiers à l'aide de PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!