Ich habe eine PHP-Seite in einem Ordner auf meiner Website.
Ich muss den Namen des aktuellen Verzeichnisses in eine Variable einfügen, zum Beispiel:
$myVar = current_directory_name;
Ist das möglich?
getcwd();
oder
dirname(__FILE__);
oder (PHP5)
basename(__DIR__)
http://php.net/manual/en/function.getcwd.php
http://php.net/manual/en/function.dirname.php
Sie können verwenden basename()
, um den nachfolgenden Teil des Pfades zu erhalten :)
In Ihrem Fall würde ich sagen , Sie sind am ehesten zu verwenden suchen getcwd()
, dirname(__FILE__)
ist nützlicher , wenn Sie eine Datei haben , dass der Bedarf eine andere Bibliothek aufzunehmen und in einer anderen Bibliothek enthalten.
Z.B:
main.php
libs/common.php
libs/images/editor.php
In Ihrem müssen common.php
Sie Funktionen in verwenden editor.php
, damit Sie verwenden
common.php
::
require_once dirname(__FILE__) . '/images/editor.php';
main.php
::
require_once libs/common.php
Auf diese Weise , wenn common.php ist require'd
in main.php
, der Ruf require_once
in common.php
enthält korrekt editor.php
in images/editor.php
anstatt zu versuchen , in aktuellem Verzeichnis zu suchen , wo main.php
ausgeführt wird.
basename(__DIR__)
in PHP 5basename(getcwd())
__DIR__
der Pfad der enthaltenen Datei und NICHT das aktuelle Verzeichnis istbasename(__DIR__)
hat mir den Tag gerettet. Vielen Dank für das Teilen!So erhalten Sie nur den Namen des Verzeichnisses, in dem das Skript ausgeführt wurde:
quelle
quelle
Beispielsweise
Your Path = /home/serverID_name/www/your_route_Dir/
DIESES_ist_das_DIR_I_WOLLEN
Eine Soultion, die FUNKTIONIERT:
quelle
Eigentlich fand ich die beste Lösung die folgende:
Wenn Ihr Verzeichnis www \ var \ path \ Current_Path lautet
dann gibt dies Current_path zurück
quelle
PATH_SEPARATOR
$myVar = str_replace('/', '', $_SERVER[REQUEST_URI]);
libs / images /index.php
Ergebnis: images
quelle
Wenn Sie PATH haben und keine Bedenken haben möchten, ob Ihr Skript in dem Ordner funktioniert, an dem Sie interessiert sind, funktioniert dies wie folgt:
quelle