Pathjoin ist die PHP -Bibliothek zum Normalisieren und Verbinden von Dateisystempfaden. Der Zweck dieser Bibliothek ist es, die Arbeit mit Dateisystempfaden, die unabhängig von der Plattform und dem Systemverzeichnisabscheider unabhängig sind, einfacher zu gestalten.
Der Zweck der Dateipfadnormalisierung besteht darin, eine einzelne konsistente Dateipfaddarstellung bereitzustellen. Mit anderen Worten, die Normalisierung in dieser Bibliothek wird sich lösen . und .. Verzeichnisreferenzen und auch mehrere Verzeichnis -Separatoren in einem zusammen. Dies erleichtert es viel einfacher, häufige Probleme beim Vergleich der Pfade miteinander zu vermeiden.
Während PHP eine integrierte Funktion realpath() bietet, ist es in jedem Fall nicht verwendbar, da es mithilfe des Dateisystems funktioniert. Diese Bibliothek kombiniert und normalisiert einfach die Pfade mithilfe der Stringhandhabung. Es ist nicht erforderlich, dass die Dateien oder Verzeichnisse lesbar sind oder sogar existieren.
Die API -Dokumentation ist verfügbar unter: http://kit.riimu.net/api/pathjoin/
Der einfachste Weg, diese Bibliothek zu installieren, besteht darin, Komponist für Ihre Abhängigkeiten zu verwenden. Um diese Bibliothek über den Komponisten zu installieren, befolgen Sie einfach die beiden Schritte:
Erwerben Sie den composer.phar , indem Sie die Befehlszeileninstallation der Komponisten in Ihrem Projektroot ausführen.
Sobald Sie das Installationsskript ausgeführt haben, sollten Sie die composer.phar -Datei in Ihrem Projektroot haben und den folgenden Befehl ausführen:
php composer.phar require "riimu/kit-pathjoin:^1.2"
Nach der Installation dieser Bibliothek über einen Komponisten können Sie die Bibliothek laden, indem Sie die Datei vendor/autoload.php einbeziehen, die während der Installation vom Komponisten generiert wurde.
Wenn Sie bereits mit Composer vertraut sind, können Sie die Bibliothek alternativ als Abhängigkeit hinzufügen, indem Sie die folgende composer.json -Datei zu Ihrem Projekt hinzufügen und den Befehl composer install ausführen:
{
"require" : {
"riimu/kit-pathjoin" : " ^1.2 "
}
} Wenn Sie den Komponisten nicht zum Laden der Bibliothek verwenden möchten, können Sie die Bibliothek auch manuell herunterladen, indem Sie die neueste Version herunterladen und den src -Ordner an Ihr Projekt extrahieren. Sie können dann die bereitgestellte Datei src/autoload.php einfügen, um die Bibliotheksklassen zu laden.
Diese Bibliothek bietet zwei bequeme Methoden, Path::normalize() und Path::join() . Beide Methoden funktionieren sehr ähnlich. Der Hauptunterschied besteht darin, dass die join() -Methode zwar mehrere Pfade akzeptieren kann, die normalize() nur einen einzelnen Pfad akzeptieren. Beide Methoden geben als Ergebnis einen normalisierten Pfad zurück.
Das folgende Beispiel enthält zahlreiche unterschiedliche Anwendungsfälle aus der Bibliothek:
<?php
require ' vendor/autoload.php ' ;
use Riimu Kit PathJoin Path ;
// Both of the following will output 'foo/bar' on Unix and 'foobar' on Windows
echo Path:: normalize ( ' foo/bar ' ) . PHP_EOL ;
echo Path:: join ( ' foo ' , ' bar ' ) . PHP_EOL ;
// The join method accepts multiple arguments or a single array
echo Path:: join ( ' foo ' , ' bar ' , ' baz ' ) . PHP_EOL ; // outputs 'foo/bar/baz'
echo Path:: join ([ ' foo ' , ' bar ' , ' baz ' ]) . PHP_EOL ; // outputs 'foo/bar/baz'
// The '.' and '..' directory references will be resolved in the paths
echo Path:: normalize ( ' foo/./bar/../baz ' ) . PHP_EOL ; // outputs 'foo/baz'
echo Path:: join ([ ' foo/./ ' , ' bar ' , ' ../baz ' ]) . PHP_EOL ; // outputs 'foo/baz'
// Only the first path can denote an absolute path in the join method
echo Path:: join ( ' /foo ' , ' /bar/baz ' ) . PHP_EOL ; // outputs '/foo/bar/baz'
echo Path:: join ( ' foo ' , ' /bar ' ) . PHP_EOL ; // outputs 'foo/bar'
echo Path:: join ( ' foo ' , ' ../bar ' , ' baz ' ) . PHP_EOL ; // outputs 'bar/baz'
echo Path:: join ( '' , ' /bar ' , ' baz ' ) . PHP_EOL ; // outputs 'bar/baz'
// Relative paths can start with a '..', but absolute paths cannot
echo Path:: join ( ' /foo ' , ' ../../bar ' , ' baz ' ) . PHP_EOL ; // outputs '/bar/baz'
echo Path:: join ( ' foo ' , ' ../../bar ' , ' baz ' ) . PHP_EOL ; // outputs '../bar/baz'
// Empty paths will result in a '.'
echo Path:: normalize ( ' foo/.. ' ) . PHP_EOL ;
echo Path:: join ( ' foo ' , ' bar ' , ' ../.. ' ) . PHP_EOL ; Der Path::normalize() akzeptiert auch einen zweiten Parameter $prependDrive , der einen booleschen Wert und standardmäßig für true. Auf Windows -Plattformen ist der Laufwerksbuchstaben ein wichtiger Bestandteil des absoluten Pfades. Wenn der Parameter auf TRUE eingestellt ist, bereitet die Methode den Antriebsbuchstaben des aktuellen Arbeitsverzeichnisses auf absolute Pfade vor, wenn der absolute Pfad keine selbst bereitstellt.
Das folgende Beispiel gilt für Windows -Systeme, wenn sich das Arbeitsverzeichnis auf dem Laufwerk C: Drive befindet:
<?php
require ' vendor/autoload.php ' ;
use Riimu Kit PathJoin Path ;
echo Path:: normalize ( ' /foo/bar ' ) . PHP_EOL ; // outputs 'C:fooBar'
echo Path:: normalize ( ' D:/foo/bar ' ) . PHP_EOL ; // outputs 'D:fooBar'
echo Path:: normalize ( ' /foo/bar ' , false ) . PHP_EOL ; // outputs 'fooBar' Diese Bibliothek ist Copyright (C) 2014-2017 Riikka Kalliomäki.
Siehe Lizenz für Lizenz und Kopieren von Informationen.