我知道$_SERVER["REQUEST_URI"];
可以用来获取当前页面的url,但如果url是htaccess url重写,这就不起作用。
如何获得当前php文件的真实(未重写)文件名?
例如,我去http://site.com/page/它重写并显示http://site.com/page.php
$_SERVER["REQUEST_URI"];
只会给我重写,我想要原件。
您可以使用php常量__FILE__
,如下所示:
echo __FILE__;
您可以使用$_SERVER['SCRIPT_NAME']
。
您可以使用$_SERVER['PHP_SELF']
获取当前脚本,也可以使用__FILE__
获取当前文件。不同之处在于包含的文件。如果文件A.php包括文件B.php,则在文件B.php中,$_SERVER['PHP_SELF']
将具有A.php,因为这是调用脚本,而__FILE__
具有调用该行的确切文件,即B.php.ex:
A.php:
<?php
include("B.php");
B.php:
<?php
echo '__FILE__ has: '.__FILE__.'<br />'; //shows B.php
echo '$_SERVER["PHP_SELF"] has: '.$_SERVER['PHP_SELF'].'<br />'; //shows A.php