2012-02-04 41 views
2

我需要检测页面做一个网站上的一些风格,现在我使用如何使用php检测当前页面?

$currentpage = $_SERVER['REQUEST_URI']; 

但这返回类似/development/en/contact.php
我想的东西,将只返回contact.php
有没有一种方法来实现这一目标?

+0

请参阅php文档链接:http://php.net/manual/en/reserved.variables.server.php – mgraph 2012-02-04 12:18:23

回答

8
basename($_SERVER['SCRIPT_NAME']); 

它将只返回文件并剥离文件夹。欲了解更多信息,请参阅basename()

注意SCRIPT_NAME的使用,而不是REQUEST_URIREQUEST_URI可能含有额外的 “废话”:

http://example.com/dev/en/contact.php/this/is/crap 
REQUEST_URI: /dev/en/contact.php/this/is/crap 
SCRIPT_NAME: /dev/en/contact.php 
1
substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1); 
3

这应该得到你想要的东西:

basename($_SERVER["SCRIPT_FILENAME"]); 

虽然要小心,因为它会给你在不同位置具有相同名称的文件的相同答案。