這似乎是一個常見的問題,但他們都不是我正在尋找的東西。如果有一個網站:PHP - 獲取當前URL
www.example.com/test.php
我想拉 「test.php的」,如果它是這樣的:
www.example.com/folder /folder1/test.php
我想再次拉動「test.php」,但一切似乎拉動確切的路徑,而不是隻是頁面。有什麼建議麼?
這似乎是一個常見的問題,但他們都不是我正在尋找的東西。如果有一個網站:PHP - 獲取當前URL
www.example.com/test.php
我想拉 「test.php的」,如果它是這樣的:
www.example.com/folder /folder1/test.php
我想再次拉動「test.php」,但一切似乎拉動確切的路徑,而不是隻是頁面。有什麼建議麼?
$query = $_SERVER['PHP_SELF'];
$path = pathinfo($query);
$what_you_want = $path['basename'];
瞧。
非常非常感謝你! –
沒問題,別忘了設置爲答案! :) –
更短的版本:'$ what_you_want = basename($ _ SERVER ['PHP_SELF']);' – Cyclone
$file = $_SERVER["SCRIPT_NAME"];
$break = explode('/', $file);
$pfile = $break[count($break) - 1];
這會回到「/folder1/folder2/test.php」 –
@Howdy_McGee:你確定嗎? '$ pfile'應該只保存'test.php'。 –
@Howdy_McGee經過測試,它適用於我: http://localhost/test1/test2/file.php打印「file.php」 –
這將讓您所請求的文件名(基於調用,而不是真正的文件的位置的URL - 萬一你正在使用mod_rewrite):
$filename = basename($_SERVER['REQUEST_URI']);
對於既http://www.example.com/testing01.php
和http://www.example.com/x/y/z/testing01.php
會給你:
testing01.php
這比接受的答案+1好兩倍。 –
它與最上面的答案大致相同,但最常見的答案是更多信息用於分解IMO –
@Howdy_McGee:我不同意。基本的區別是我們真正展現的。你問到「_Getting Current URL_」。根據[文檔](http://php.net/manual/en/reserved.variables.server.php):'$ _SERVER ['REQUEST_URI']'獲得「_爲了訪問此頁面而給出的URI ;例如'/index.html'._「,而$ _SERVER ['PHP_SELF']'等於」_當前正在執行的腳本的文件名,相對於文檔根目錄(...)_「,這可能會或可能不等於上述情況。我解釋了我的答案(在關於'mod_rewrite'的部分)中的差異。 – Tadeck
爲什麼當你不要求一個網址這個問題,「當前的URL」爲主題?另外,如果有mod_rewrite強制網址www.exemple.com/test,它被重寫到test.php,它是test.php還是測試你想要的? – eis