2011-03-11 11 views
7

Czy istnieje sposób na przekonwertowanie adresu URL strony WWW na bezwzględną ścieżkę do systemu plików (niezależnie od systemu operacyjnego)?Konwertuj adres URL na ścieżkę do systemu plików

Na przykład: Mam URL /images/test.jpg (http://www.example.com/images/test.jpg) i muszę dostać:

  • `C: \ ścieżka \ do \ Webroot \ Images \ test.jpg`` na Windows,
  • /var/path/to/webroot/images/test.jpg w systemie Linux.

Jakikolwiek sposób to zrobić w PHP?

Odpowiedz

5
$str = "/images/test.jpg"; 
$str = realpath("." . $str); 
+1

Pomysł jest dobry, ale powinieneś usunąć poprzedzający '/' lub umieścić przed nim '.". – Lekensteyn

+0

Dziękuję bardzo, działa. Oczywiście muszę używać '.' tylko wtedy, gdy mój plik php znajduje się w katalogu webroot, jeśli znajduje się w podkatalogu lub potrzebuję' .. ' – salgua

+2

Ręczny link http://php.net/manual/en/function .realpath.php –

3

To daje /images/test.jpg:

$path = str_replace($_SERVER['DOCUMENT_ROOT'], '', $path) 

Gdzie $_SERVER['DOCUMENT_ROOT'] daje katalog główny dokument pod którym skrypt jest wykonywany.

Powiązane problemy