Obtenir le nom du fichier de script actuel en PHP
![Obtenir le nom du fichier de script actuel en PHP](/img/PHP/feature-image---php-get-file-name.webp)
Votre script peut avoir besoin du nom de fichier actuel avec le nom du répertoire dans lequel il s’exécute actuellement. Dans cet article de didacticiel, nous verrons comment obtenir le nom de fichier du script actuel dans le projet.
PHP fournit différentes manières de trouver le nom du fichier actuel. Tout d’abord, nous allons brièvement comprendre tous les paramètres et méthodes, puis les combiner pour obtenir le résultat.
-
__FILE__
:PHP fournit 9 constantes magiques qui sont utilisées en fonction de leur utilisation. Ces constantes sont créées par diverses extensions. Toutes ces constantes sont résolues pendant la compilation.
__FILE__
est l’une de ces constantes magiques qui vous donne le chemin du système de fichiers vers le fichier .php actuel. -
$_SERVER
:$_SERVER
est un tableau qui contient des informations sur les en-têtes, les chemins et les emplacements de script. Le serveur Web crée toutes ces informations. -
PHP_SELF
:PHP_SELF
est une variable utilisée pour obtenir le nom de fichier du script en cours d’exécution. Il est relatif à la racine du document. Lorsque l’utilisateur exécute cette commande dans la ligne de commande, il imprime les informations sur le nom du script. -
SCRIPT_FILENAME
:Il s’agit d’une variable utilisée pour obtenir le nom de fichier du script en cours d’exécution, et la seule différence est que son chemin est absolu.
-
SCRIPT_NAME
:Il contient le chemin du script actuel. Ceci est utile pour les pages qui doivent pointer vers elles-mêmes.
-
REQUEST_URI
:L’URI a été donné pour accéder à l’emplacement de la page, par exemple,
/index.html
.
Utilisons maintenant toutes les commandes ci-dessus ensemble pour obtenir le nom du fichier.
-
$_SERVER['SCRIPT_NAME']
:Un nom de fichier parent avec une extension de fichier
-
$_SERVER['PHP_SELF']
:URL relative du fichier parent avec l’extension de fichier. Par exemple,
http://example.com/parentFolder/child.php
serait/parentFolder/child.php
. -
$_SERVER['SCRIPT_FILENAME']
:URL complète du fichier parent avec une extension de fichier
-
$_SERVER['REQUEST_URI']
:fichier parent nom du dossier parent avec
La fonction PHP intégrée basename()
renvoie le nom de base d’un fichier si le chemin du fichier est fourni en paramètre à la fonction basename()
.
-
basename(__FILE__)
:Nom de fichier actuel avec extension de fichier PHP.
-
basename(__FILE__, '.php')
:Nom de fichier actuel sans extension de fichier PHP.
-
basename($_SERVER['PHP_SELF'], ".php")
:Nom de fichier actuel sans extension de fichier PHP.
-
basename($_SERVER['PHP_SELF'])
:Nom de fichier actuel avec extension de fichier PHP.
-
pathinfo(__FILE__, PATHINFO_FILENAME)
:Nom de fichier actuel sans extension de fichier PHP.
Exemple de code pour obtenir le nom du fichier de script actuel en PHP
<?php
echo "\$_SERVER['SCRIPT_NAME']: ";
echo $_SERVER['SCRIPT_NAME'];
echo "\n";
echo "\$_SERVER['PHP_SELF']: ";
echo $_SERVER['PHP_SELF'];
echo "\n";
echo "\$_SERVER['SCRIPT_FILENAME']: ";
echo $_SERVER['SCRIPT_FILENAME'];
echo "\n";
echo "basename(__FILE__): ";
echo basename(__FILE__);
echo "\n";
echo "basename(__FILE__, '.php'): ";
echo basename(__FILE__, '.php');
echo "\n";
echo "basename(\$_SERVER['PHP_SELF'], '.php'): ";
echo basename($_SERVER['PHP_SELF'], '.php');
echo "\n";
echo "basename(\$_SERVER['PHP_SELF']): ";
echo basename($_SERVER['PHP_SELF']);
echo "\n";
echo "pathinfo(__FILE__, PATHINFO_FILENAME): ";
echo pathinfo(__FILE__, PATHINFO_FILENAME);
echo "\n";
?>
Production:
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn