realpath
(PHP 4, PHP 5, PHP 7)
realpath — Löst einen Pfad in einen absoluten und eindeutigen auf
Beschreibung
$path
) : string
realpath() löst alle symbolischen Verweise,
/./, /../ und mehrere aufeinanderfolgende / Zeichen,
die in path
enthalten sind, auf und gibt
den so entstehenden absoluten Pfad zurück.
Parameter-Liste
-
path
-
Der Pfad, der aufgelöst werden soll.
Hinweis:
Der Pfad muss angegeben werden, kann allerdings auch ein leerer String sein, in diesem Fall wird dann das aktuelle Verzeichnis benutzt.
Rückgabewerte
Gibt bei Erfolg den eindeutigen und absoluten Pfadnamen zurück. Dieser wird keine symbolischen Links, /./ oder /../ mehr enthalten. Abschließende Trennzeichen wie \ und / werden ebenfalls entfernt.
realpath() gibt FALSE
zurück, wenn ein Fehler auftritt,
beispielsweise wenn die Datei nicht existiert.
Hinweis:
Das ausführende Script muss alle Verzeichnisse im Pfad öffnen können (auf unixoiden Systemen wäre das das "execute" Recht). Ist dies nicht der Fall, gibt realpath()
FALSE
zurück.
Hinweis:
Bei Dateisystemen, bei denen Groß-/Kleinschreibung keine Rolle spielt, kann realpath() die Schreibweise kanonisieren, oder auch nicht.
Hinweis:
Die Funktion realpath() funktioniert nicht für Dateien in einem Phar, da solche Pfade virtuelle Pfade sind, aber keine realen Pfade.
Hinweis: Weil PHPs Integer Typ vorzeichenbehaftet ist und viele Platformen 32bit Integer verwenden, können einige Dateisystem-Funktionen für Dateien größer als 2GB unerwartete Ergebnisse liefern.
Changelog
Version | Beschreibung |
---|---|
5.3.0 |
Vor dieser Version schlug realpath() auf BSD Systemen
nicht fehl, wenn nur die letzte path Komponente
nicht existierte. Jetzt schlägt realpath() auch in diesem
Fall fehl.
|
5.2.1 |
Vor dieser Version gab realpath() FALSE zurück,
wenn path eine leere Zeichenkette oder NULL ist.
|
Beispiele
Beispiel #1 realpath()
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
/etc/passwd /tmp
Beispiel #2 realpath() auf Windows
Unter Windows wandelt realpath() Unix-artige Pfade in gültige Windows-Pfade um:
<?php
echo realpath('/windows/system32'), PHP_EOL;
echo realpath('C:\Program Files\\'), PHP_EOL;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
C:\WINDOWS\System32 C:\Program Files
Siehe auch
- basename() - Gibt letzten Namensteil einer Pfadangabe zurück
- dirname() - Gibt den Pfad des übergeordneten Verzeichnisses zurück
- pathinfo() - Liefert Informationen über einen Dateipfad
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-function.realpath.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.