如何用php检测当前页面


How to detect current page with php?

我需要检测页面才能在网站上进行一些造型,现在我正在使用

$currentpage = $_SERVER['REQUEST_URI'];

但这会返回类似于/development/en/contact.php
的内容我想要只返回contact.php的东西
有办法做到这一点吗?

basename($_SERVER['SCRIPT_NAME']);

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

注意使用SCRIPT_NAME而不是REQUEST_URI,因为REQUEST_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

这应该会得到你想要的:

basename($_SERVER["SCRIPT_FILENAME"]);

尽管要小心,因为对于不同位置的同名文件,它会给你相同的答案。

basename(__FILE__)也是一种方式
__FILE__"魔术"常数

substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);