PHP重写URL后获取当前文件名

时间:2012-08-29 19:59:43

标签: php

我知道$_SERVER["REQUEST_URI"];可用于获取当前页面的网址,但如果网址是htaccess网址重写,则无效。

如何获取当前php文件的真实(未重写)文件名?

例如,我转到http://site.com/page/它会重写并显示http://site.com/page.php

$_SERVER["REQUEST_URI"];只会给我重写,我想要原文。

3 个答案:

答案 0 :(得分:3)

您可以使用php常量__FILE__,如下所示:

 echo __FILE__;

答案 1 :(得分:2)

您可以使用$_SERVER['SCRIPT_NAME']

答案 2 :(得分:2)

您可以使用$_SERVER['PHP_SELF']获取当前脚本,或使用__FILE__获取当前文件。与包含文件的区别。如果文件A.php包含文件B.php,则在文件中.php $_SERVER['PHP_SELF']将具有A.php,因为这是调用脚本,而__FILE__具有确切的文件,其中将调用该行是B.php。例如:

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