4

我知道$_SERVER["REQUEST_URI"];可以用来获取当前页面的 url,但是如果 URL 是 htaccess URL 重写,这不起作用。

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

例如我去http://site.com/page/它重写并显示http://site.com/page.php

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

4

3 回答 3

3

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

 echo __FILE__;
于 2012-08-29T20:01:19.440 回答
2

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

于 2012-08-29T20:01:33.240 回答
2

您可以使用$_SERVER['PHP_SELF']获取当前脚本或__FILE__获取当前文件。区别在于包含的文件。如果文件 A.php 包含文件 B.php,则在文件 B.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
于 2012-08-29T20:03:19.483 回答