Schließen Sie absolute und relative Pfade in PHP ein
- Absolute und relative Pfade in PHP
-
Verwenden Sie
include()
unddirname()
, um absolute und relative Pfade in PHP einzuschließen
Ob auf Servern oder lokalen PCs, der Pfad, von dem aus Sie Ihr PHP-Programm ausführen, macht einen Unterschied und ist wichtig. Wenn Sie im falschen Verzeichnis ausgeführt werden, ist es wichtig zu verstehen, wie die beiden Arten von Pfaden, relativ und absolut, verwendet werden.
Obwohl beide wichtig sind, verwenden wir möglicherweise eher absolute Pfade als absolute Pfade, insbesondere im Kontext der gesamten PHP-Anwendung.
Dieser Artikel erklärt, wie man absolute und relative Pfade in PHP verwendet oder einbezieht.
Absolute und relative Pfade in PHP
Ob innerhalb einer PHP-Anwendung oder auf unseren lokalen Computern, der absolute Pfad ist der Datei- oder Verzeichnisspeicherort relativ zum Stammverzeichnis des Systems. Ein relativer Pfad zeigt jedoch relativ zum aktuellen Verzeichnis auf einen bestimmten Ort in einem Dateisystem.
Dies ist ein absoluter Pfad auf einem Unix oder Linux:
/home/user/devs
Auf einem Windows-PC sieht der absolute Pfad so aus:
C:\AMD\Chipset_Software
Für die meisten PHP-Server wird jedoch häufig das Linux-Pfadsystem verwendet.
Ein relativer Pfad kann jedoch etwa so aussehen:
../devs
Das obige Code-Snippet stellt das übergeordnete Verzeichnis des Verzeichnisses devs
dar, und Sie können dasselbe ..
unter Windows verwenden. Angenommen, Sie befinden sich im Verzeichnis C:\Users\HP\Documents
; Sie können mit dem folgenden Befehl zum Download-Verzeichnis wechseln, das ein untergeordnetes HP ist:
cd ..\Downloads
Verwenden Sie include()
und dirname()
, um absolute und relative Pfade in PHP einzuschließen
Um auf den absoluten und relativen Pfad zuzugreifen, benötigen wir die Funktion dirname()
und eine magische Konstante namens __FILE__
. Die magische Konstante __FILE__
gibt den vollständigen Pfad und Namen der ausgeführten PHP-Datei zurück.
Die Funktion dirname()
gibt den Pfad des übergeordneten Verzeichnisses zurück. Wenn wir die Funktionen __FILE__
und dirname()
zusammen verwenden, können wir den absoluten Root-Pfad zu der Datei erhalten, die wir bearbeiten, vorausgesetzt, die Datei, mit der wir über ein include
-Schlüsselwort interagieren, befindet sich im selben Verzeichnis .
include(dirname(__FILE__).'/functions.php');
Das Ergebnis von dirname(__FILE__)
ist:
/home/runner/ScholarlyOvalFirewall
Angenommen, die PHP-Datei, mit der wir interagieren, befindet sich im übergeordneten Verzeichnis des aktuellen Arbeitsverzeichnisses. In diesem Fall können wir die Konstante __DIR__
verwenden, da sie das Verzeichnis der aktuellen Datei ohne den abschließenden Schrägstrich zurückgibt.
include(dirname(__DIR__).'/functions.php');
Das Ergebnis von dirname(__FILE__)
ist:
/home/runner/
Angenommen, wir beabsichtigen, nur mit relativen Pfaden zu arbeiten, können wir dies tun, indem wir die folgende Funktion erstellen:
function relativepath($to){
$a=explode("/",dirname(__FILE__));
$index= array_search("$to",$a);
$str="";
for ($i = 0; $i < count($a)-$index-2; $i++) {
$str.= "../";
}
return $str;
}
$st = relativepath('main.php');
echo $st;
Das Argument der Funktion ist der Name der PHP-Datei und funktioniert, indem der absolute Pfad-String über das Symbol /
in ein Array zerlegt und nach der angegebenen PHP-Datei gesucht wird. Danach wird die Reihe von ../
an die Variable $str
angehängt, um uns den relativen Pfad zur Wurzel zu geben.
Außerdem können wir den Stammpfad je nach Bedarf mit der Funktion dirname()
, der Funktion define()
und beliebigen magischen Konstanten __DIR__
und __FILE__
definieren.
define('ROOT_PATH', dirname(__DIR__) . '/');
Der ROOT_PATH
ist jetzt /home/runner
.
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn