Si j'ai PHP script, comment puis-je obtenir le nom du fichier à l'intérieur de ce script ?
De même, étant donné le nom d'un script de la forme jquery.js.php
comment puis-je extraire seulement la partie "jquery.js" ?
Si j'ai PHP script, comment puis-je obtenir le nom du fichier à l'intérieur de ce script ?
De même, étant donné le nom d'un script de la forme jquery.js.php
comment puis-je extraire seulement la partie "jquery.js" ?
Il suffit d'utiliser le Constante magique de PHP ...
echo __FILE__;
pour obtenir le nom du fichier courant.
Mais il semble que vous vouliez la partie sans .php
. Alors...
echo preg_replace('/\.php$/', '', __FILE__);
Un suppresseur d'extension de fichier plus générique ressemblerait à ceci...
function chopExtension($filename) {
$ext = pathinfo($filename, PATHINFO_EXTENSION);
return preg_replace('/\.' . preg_quote($ext, '/') . '$/', '', $filename);
}
var_dump(chopExtension('bob.php')); // string(3) "bob"
var_dump(chopExtension('bob.i.have.dots.zip')); // string(15) "bob.i.have.dots"
L'utilisation des fonctions standard de la bibliothèque des chaînes de caractères est beaucoup plus rapide comme on peut s'y attendre.
function chopExtension($filename) {
return substr($filename, 0, strrpos($filename, '.'));
}
Sebastian Krebs a fait remarquer que vous pouvez obtenir le nom du fichier sans l'élément .php
une extension comme ça .
basename(__FILE__, '.php');
Voir http://php.net/manual/en/function.pathinfo.php
pathinfo(__FILE__, PATHINFO_FILENAME);
Voici la différence entre basename(__FILE__, ".php")
y basename($_SERVER['REQUEST_URI'], ".php")
.
basename(__FILE__, ".php")
indique le nom du fichier dans lequel ce code est inclus - Cela signifie que si vous incluez ce code dans le fichier header.php et la page actuelle est index.php il retournera en-tête no indice .
basename($_SERVER["REQUEST_URI"], ".php")
- Si vous utilisez l'inclusion de ce code dans header.php et la page actuelle est index.php il retournera indice no en-tête .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.