2010-04-08 14 views
8

ich habe:PHP Get nur Verzeichnispfad

$page_file_temp = $_SERVER["PHP_SELF"]; 

die folgende Ausgabe: /templates/somename/index.php

ich von diesem Pfad zu extrahieren nur "/templates/somename/"

Wie kann ich es tun? Danke!

Antwort

18
$page_directory = dirname($page_file_temp); 

dirname See.

+0

Verstanden :) danke! Ich war auf dem falschen Weg .. –

1

Schauen Sie sich die dirname() Funktion an.

Von den Dokumenten entfernt dirname() den abschließenden Schrägstrich. Wenn Sie es behalten möchten, können Sie die Konstante DIRECTORY_SEPARATOR an das Ergebnis anhängen.

$dir = dirname('mystring/and/path.txt').DIRECTORY_SEPARATOR; 
1

parse_url verwendet, wird für Variablen Account und "Fragmente" (Teil der URL nach #) unter anderen URL-spezifischen Teilen.

$url = $_SERVER['PHP_SELF']; // OR $_SERVER['REQUEST_URI'] 

echo parse_url($url, PHP_URL_PATH); 
4

Vielleicht ist Ihre Lösung:

$rootPath = $_SERVER['DOCUMENT_ROOT']; 
$thisPath = dirname($_SERVER['PHP_SELF']); 
$onlyPath = str_replace($rootPath, '', $thisPath); 

Zum Beispiel:

$_SERVER['DOCUMENT_ROOT'] ist der Wurzelpfad des Servers wie diese /home/abc/domains/abc.com/public_html

$_SERVER['PHP_SELF'] über den gesamten Pfad zu diesem Skript so /home/abc/domains/abc.com/public_html/uploads/home/process.php

Dann können wir haben:

$rootPath wie diese /home/abc/domains/abc.com/public_html

$thisPath wie diese /home/abc/domains/abc.com/public_html/uploads/home

Und $onlyPath wie diese /uploads/home