157 votes

PHP Obtenir le nom du répertoire en cours

J'ai une page php dans un dossier de mon site web.

J'ai besoin d'ajouter le nom du répertoire actuel dans une variable, par exemple:

 $myVar = current_directory_name;
 

Est-ce possible?

299voto

SiGanteng Points 23915
getcwd();

or

dirname(__FILE__);

or (PHP5)

basename(__DIR__) 

http://php.net/manual/en/function.getcwd.php

http://php.net/manual/en/function.dirname.php

Vous pouvez utiliser basename() pour obtenir le point à la partie du chemin :)

Dans votre cas, je dirais que vous êtes probablement à la recherche d'utiliser getcwd(), dirname(__FILE__) est plus utile lorsque vous avez un fichier qui a besoin d'une autre bibliothèque et est inclus dans une autre bibliothèque.

Par exemple:

main.php
libs/common.php
libs/images/editor.php

dans votre common.php vous avez besoin d'utiliser des fonctions en editor.php, de sorte que vous utilisez

common.php:

require_once dirname(__FILE__) . '/images/editor.php';

main.php

require_once libs/common.php

De cette façon, lorsque common.php est - require'd en main.php, à l'appel de l' require_once en common.php correctement inclut editor.php en images/editor.php , au lieu d'essayer de regarder dans le répertoire courant où main.php est exécuté.

29voto

yesnik Points 247

Pour obtenir uniquement le nom du répertoire où le script a été exécuté:

 //Path to script: /data/html/cars/index.php
echo basename(dirname(__FILE__)); //"cars"
 

15voto

user2169219 Points 99

Par exemple, votre chemin = / home / nom_serveur / www / rép_votre_route / THIS_is_the_DIR_I_Want

Une âme qui fonctionne:

$ url = $ _SERVER ['SERVER_NAME']. nom de répertoire ( FILE );

$ array = explode ('/', $ url); $ count = count ($ array);

echo $ array [$ count-1]; // retourne: THIS_is_the_DIR_I_Want <== CECI EST CE QUEL EST BESOIN!

12voto

Ameer Ul Islam Points 41
echo basename(__DIR__); will return the current directory name only
echo basename(__FILE__); will return the current file name only

7voto

Andrew Points 41

En fait, j'ai trouvé la meilleure solution:

 $cur_dir = explode('\\', getcwd());
echo $cur_dir[count($cur_dir)-1];
 

si votre répertoire est www \ var \ path \ Current_Path

alors cela retourne Current_path

Prograide.com

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.

Powered by:

X