2010-04-08 12 views
8

ho:PHP Get percorso unica directory

$page_file_temp = $_SERVER["PHP_SELF"]; 

che sarà in uscita: /templates/somename/index.php

Voglio estrarre da quel percorso solo "/templates/somename/"

Come posso fare? Grazie!

risposta

18
$page_directory = dirname($page_file_temp); 

Vedi dirname.

+0

Got it :) grazie! Ero sulla strada sbagliata .. –

1

Dai un'occhiata alla funzione dirname().

Dai documenti, dirname() rimuove la barra finale. Se vuoi mantenerlo puoi aggiungere il costante DIRECTORY_SEPARATOR al risultato.

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

Utilizzando parse_url rappresenteranno per le variabili GET e "frammenti" (porzione di URL dopo #) tra le altre parti specifiche URL.

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

echo parse_url($url, PHP_URL_PATH); 
4

Forse questa è la vostra soluzione:

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

Ad esempio:

$_SERVER['DOCUMENT_ROOT'] è del server root-path come questo /home/abc/domains/abc.com/public_html

$_SERVER['PHP_SELF'] è circa l'intero percorso a quello script così /home/abc/domains/abc.com/public_html/uploads/home/process.php

Allora possiamo avere:

$rootPath come questo /home/abc/domains/abc.com/public_html

$thisPath come questo /home/abc/domains/abc.com/public_html/uploads/home

E $onlyPath come questo /uploads/home