2013-04-21 73 views

回答

1
if ($_SERVER['REQUEST_URI'] == '/' || strpos($_SERVER['REQUEST_URI'], '/' . $_SERVER['SCRIPT_NAME']) === 0) { 
    // something 
} else { 
    // something else 
} 
+0

難道'/ product.php'也有資格? – webbiedave 2013-04-21 20:12:32

+0

是的,你是對的。我編輯過。 – MrRP 2013-04-21 20:18:30

+0

'__FILE__'包含當前正在運行的文件的系統路徑,例如'/ var/www/html/public_html/somefile.php'。它永遠不會被包含在'REQUEST_URI'中。 – webbiedave 2013-04-21 20:19:59

1

你的意思是根URI(URL基本的Web腳本)內部存儲$_SERVER['REQUEST_URI'],或者你的意思__FILE__(或$_SERVER['SCRIPT_NAME'])在裏面的根目錄?

無論如何,你可以使用這兩個中的一個,然後剝離使用dirname(),或parse_url()文件名URI:

dirname(__FILE__) == '/'; 
dirname($_SERVER['REQUEST_URI']) 
+0

如果他將函數放入包含文件中,該怎麼辦?它不會總是返回* that *文件的包含目錄,而不是包含它的文件的目錄? – webbiedave 2013-04-21 20:14:56

+0

比他可以使用'$ _SERVER ['SCRIPT_NAME']'。 – Vyktor 2013-04-21 20:16:22

+0

對不起,如果我不清楚,不是精通編程。我的意思是,如果函數在example.com上運行,它會返回一些內容,但如果它在example.com/anythingelse上運行,它將返回其他內容。 – user1745555 2013-04-21 20:26:45