In PHP ist das Erhalten des aktuellen Arbeitsverzeichnisses ein sehr wichtiger Betrieb in vielen Szenarien, z. B. Lesen von Dateien, Festlegen von Pfaden usw. PHP bietet eine Vielzahl von Methoden, um Pfadinformationen zu erhalten, darunter GetCWD () und get_include_path () sind zwei häufig verwendete Funktionen. In diesem Artikel wird die Rolle dieser beiden Funktionen eingeführt und zeigen, wie sie in Kombination verwendet werden, um den Pfad zum aktuellen Arbeitsverzeichnis zu erhalten.
getCwd () ist eine integrierte Funktion in PHP. Der vollständige Name ist "Current Working Directory", was bedeutet, dass das aktuelle Arbeitsverzeichnis erhalten wird. Dieses Verzeichnis ist das Verzeichnis, in dem das Skript ausgeführt wird. Normalerweise gibt es einen absoluten Weg zurück.
Beispiel:
<?php
echo getcwd();
?>
Die Ausgabe kann sein:
/var/www/html/project
Dieser Pfad ist das Arbeitsverzeichnis der aktuellen Skriptausführung.
Get_include_path () wird verwendet, um den Pfad include (einschließlich) in der PHP -Konfiguration zu erhalten, dh die Sammlung von Pfaden, die PHP bei der Suche nach Dateien sucht. Der Pfad kann mehrere Verzeichnisse enthalten, die durch Semikolonen (Windows) oder Colons (Linux/MacOS) getrennt sind.
Beispiel:
<?php
echo get_include_path();
?>
Ausgangsbeispiel:
.:/usr/local/lib/php
Der Punkt hier repräsentiert das aktuelle Verzeichnis.
Obwohl GetCWD () das aktuelle Arbeitsverzeichnis direkt erhalten kann, müssen wir manchmal den Ort des aktuellen Arbeitsverzeichnisses in Include_Path kennen oder den relativen Pfad in Include_Path in einen absoluten Pfad umwandeln. Zu diesem Zeitpunkt kann das Kombinieren der beiden Verwendungsmöglichkeiten den Pfad flexibler verarbeiten.
<?php
// Holen Sie sich das aktuelle Arbeitsverzeichnis
$currentDir = getcwd();
echo "Das aktuelle Arbeitsverzeichnis ist: " . $currentDir . "\n";
// Erhalten include_path
$includePath = get_include_path();
echo "include_path Der Inhalt ist: " . $includePath . "\n";
// Wille include_path In Arrays aufgeteilt
$paths = explode(PATH_SEPARATOR, $includePath);
// Traversalweg,Vollständigen Pfad ausgeben
foreach ($paths as $path) {
if ($path === '.' || $path === '') {
// Verwenden Sie das aktuelle Verzeichnis getcwd() Alternative
$absolutePath = $currentDir;
} else {
// Andere Wege bleiben unverändert
$absolutePath = $path;
}
echo "Absoluter Weg: " . $absolutePath . "\n";
}
?>
Das aktuelle Arbeitsverzeichnis ist: /var/www/html/project
include_path Der Inhalt ist: .:/usr/local/lib/php
Absoluter Weg: /var/www/html/project
Absoluter Weg: /usr/local/lib/php
Der Punkt in Include_Path repräsentiert das aktuelle Verzeichnis . Hier ersetzen wir es durch den von getCwd () erhaltenen Pfad.
Auf diese Weise können Sie eine vollständige Liste der enthaltenen Pfade erhalten. Jeder Pfad ist ein absoluter Pfad, der für das Programm zum Suchen oder Verarbeiten von Dateien bequem ist.
Angenommen, Sie haben ein Projekt, das einige Ressourcendateien gemäß Include_Path lesen muss. Sie können zuerst die obige Methode verwenden, um den relativen Pfad in einen absoluten Pfad umzuwandeln, um die Unfähigkeit zu vermeiden, die Datei aufgrund von Pfadproblemen zu finden.
Wenn Sie diese beiden Funktionen kombinieren, können Sie außerdem flexibler verwalten, insbesondere wenn die Pfade in verschiedenen Umgebungen oder Bereitstellungen unterschiedlich sind, ist der Code tragbarer.
GetCWD () erhält das aktuelle Arbeitsverzeichnis, normalerweise das Verzeichnis, in dem das Skript ausgeführt wird. Wenn der Code jedoch enthalten ist oder die Auslaufumgebung unterschiedlich ist, können sich die Ergebnisse unterscheiden.
include_path kann in php.ini konfiguriert werden oder über set_include_path () dynamisch festgelegt werden.
Pfadabscheider variieren je nach Betriebssystem. Die Verwendung von PHP-integrierten Konstanten kann die Kompatibilität verbessern.
getCwd () gibt den absoluten Pfad direkt zum aktuellen Arbeitsverzeichnis zurück.
get_include_path () gibt PHP zurück, die Pfadeinstellungen enthält, die relative und absolute Pfade enthalten können.
In Kombination können alle relativen Pfade ( wie ) im eingeschlossenen Pfad in absolute Pfade umgewandelt werden, was den Dateibetrieb erleichtert.
Durch die rationale Verwendung dieser beiden Funktionen können PHP -Entwickler den Dateipfad besser steuern und die durch Pfadfehler verursachten Probleme vermeiden.
<?php
// Umfassende Beispielfunktionen:zurückkehren include_path 中所有路径的Absoluter Weg数组
function getAbsoluteIncludePaths() {
$currentDir = getcwd();
$includePaths = explode(PATH_SEPARATOR, get_include_path());
$absolutePaths = [];
foreach ($includePaths as $path) {
if ($path === '.' || $path === '') {
$absolutePaths[] = $currentDir;
} else {
$absolutePaths[] = $path;
}
}
return $absolutePaths;
}
// Aufrufen Beispiel
$paths = getAbsoluteIncludePaths();
foreach ($paths as $p) {
echo $p . PHP_EOL;
}
?>
Dieser Code -Snippet kann leicht ein Array mit allen absoluten Pfaden erhalten, was für die nachfolgende Pfadverarbeitung geeignet ist.