PHP sadece dizin yolunu alın

5 Cevap php

I var:

$page_file_temp = $_SERVER["PHP_SELF"];

Hangi çıktısı: / templates / somename / index.php

Ben sadece "/ templates / somename /" o yoldan çıkarmak istiyorum

How can I do it? Thanks!

5 Cevap

$page_directory = dirname($page_file_temp);

Bkz dirname.

dirname() fonksiyonuna bir göz atın.

Belgelerden, dirname() bölü kaldırır. Bunu tutmak istiyorsanız sonucu sürekli DIRECTORY_SEPARATOR ekleyebilirsiniz.

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

Belki bu bir çözümdür:

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

Örneğin:

$_SERVER['DOCUMENT_ROOT'] böyle sunucunun kök yolu /home/abc/domains/abc.com/public_html

$_SERVER['PHP_SELF'] Bu gibi bu komut dosyasına bütün yolu hakkında /home/abc/domains/abc.com/public_html/uploads/home/process.php

Sonra olabilir:

$rootPath bu /home/abc/domains/abc.com/public_html gibi

$thisPath bu /home/abc/domains/abc.com/public_html/uploads/home gibi

Ve $onlyPath Bunun gibi /uploads/home

Bir alternatif:

$directory = pathinfo($page_file_temp,PATHINFO_DIRNAME);

http://www.php.net/manual/en/function.pathinfo.php

Kullanımı parse_url diğer URL özgü parçaların arasında GET değişkenleri ve "parçaları" (# sonra URL bölümü) için hesap verecek.

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

echo parse_url($url, PHP_URL_PATH);