__Dir__ wie benutzen (PHP)?
Hallo.
Ich habe jetzt schon öfter gesehen, dass viele Entwickler __Dir__ benutzen und habe mich im Internet schlau gemacht was es ist.
Leider habe ich es nicht verstanden und hoffe, dass es mit jemand erklären kann.
Danke im vorraus
4 Antworten
![](https://images.gutefrage.net/media/user/NackterGerd/1459631419191_nmmslarge__4_21_414_414_4344501cccc644450d864209d1253d34.jpg?v=1459631419000)
Das ist das aktuelle Verzeichnis
![](https://images.gutefrage.net/media/user/Ginpanse/1715585358313_nmmslarge__0_0_773_772_07dcf7bf365d667c5622cff8de21ebd0.jpg?v=1715585358000)
das ist einfach nur eine vordefinierte Variable die das Verzeichnis enthält in dem du dich gerade befindest bzw in dem deine php Datei die gerade ausgeführt wird sich befindet.
Beispiel:
Dein Verzeichnisstammbaum (beispiel):
www/public_html/meinephpskripte/meinephpdatei.php
Die Variable dir enthält dann folgenden Wert:
"www/public_html/meinephpskripte"
![](https://images.gutefrage.net/media/user/NackterGerd/1459631419191_nmmslarge__4_21_414_414_4344501cccc644450d864209d1253d34.jpg?v=1459631419000)
../Dateiname geht doch schon auch ohne.
Absoluten und relativen Pfad zusammen zu verwenden macht ja schon mal gar keinen Sinn
![](https://images.gutefrage.net/media/user/crRaphi/1631475433860_nmmslarge__178_0_1493_1493_e288717cd1db3e74fa5ed0dbc6a596ef.png?v=1631475434000)
Wie kann ich dann ein Verzeichnis zurück?
![](https://images.gutefrage.net/media/user/crRaphi/1631475433860_nmmslarge__178_0_1493_1493_e288717cd1db3e74fa5ed0dbc6a596ef.png?v=1631475434000)
Auf stackoverflow wurde es mit ".." gezeigt.
![](https://images.gutefrage.net/media/user/NackterGerd/1459631419191_nmmslarge__4_21_414_414_4344501cccc644450d864209d1253d34.jpg?v=1459631419000)
Wie kann ich dann ein Verzeichnis zurück?
Du benutzt doch bereits "../"
Das bedeutet doch eine Ebene zurück
![](https://images.gutefrage.net/media/user/crRaphi/1631475433860_nmmslarge__178_0_1493_1493_e288717cd1db3e74fa5ed0dbc6a596ef.png?v=1631475434000)
Also darf ich ___dir___. "../html" schreiben?
![](https://images.gutefrage.net/media/user/NackterGerd/1459631419191_nmmslarge__4_21_414_414_4344501cccc644450d864209d1253d34.jpg?v=1459631419000)
Ich meine zwar es müsste " __DIR__. '/../" heißen
Aber im Prinzip ja
Das währ aber nicht bei allen Dateien notwendig
Nur wenn sie aus unterschiedlichen Quellen included werden
Im Normalfall reicht "../" ohne __DIR__
![](https://images.gutefrage.net/media/user/EinAlexander/1568031404353_nmmslarge__0_0_355_355_53fff13ea2c79ad9fbc680094640ebd8.jpg?v=1568031404000)
__Dir__ wie benutzen (PHP)?
__Dir__ liefert den Namen des Verzeichnisses, in dem sich die aufrufende Datei befindet.
Alex
![](https://images.gutefrage.net/media/user/LeBonyt/1553190555784_nmmslarge__5_5_160_160_23469c76ccd9796e9cb38ca6b6f0ac87.png?v=1553190556000)
https://www.tutorialspoint.com/how-to-use-dir-in-php
Auch wenn es Englisch ist.
DIR ist quasi der Verzeichnisname in dem das Script selber liegt. Mit include/require kannst du Code zur Laufzeit in Scripte einbinden. Es handelt sich meistens um Code von Klasssen, der immer wieder verwendet kann.
Das heißt, dass wenn ich die variable nutze bekomme ich den Pfad zu der Datei die ich ausführe.
Wenn ich jetzt eine Datei aus public_html includen möchte, dann muss ich hinter die variable "../DATEINAME" schreiben, oder? Kann ich wie gewohnt in ein anderes Verzeichnis wechseln?