通过另一个目录中的 php 脚本获取当前目录名称


Get the current directory name via php script in another directory

我正在通过 .htaccess 文件中包含的标头.php文件来设置 apache 索引的样式。我已经把它说得很好,但我需要从URL中检索当前页面标题。所有 php 引用都指向我的解决方案,这些解决方案适用于获取"当前页面",即包含的 php 文件本身,而不是它正在索引的目录。

使用此方法有效,但会显示标头.php:

$current_folder = basename(dirname(__FILE__));

关于如何做到这一点的想法?

编辑:文件夹结构是这样的,如果它有助于更有意义:

/
    /includes/header.php
    /dir/directory_that_I_want_the_name_of/

.htaccess 为每个目录索引拉入标头.php,因此我需要知道如何获取当前目录名称,而不是标头所在的位置.php在我找到的示例中返回/include/或标头.php。我需要获取directory_that_I_want_the_name_of。

.htaccess:

Options +Indexes
IndexOptions FancyIndexing
IndexOptions FoldersFirst IgnoreCase XHTML NameWidth=*
IndexOptions SuppressHTMLPreamble SuppressRules HTMLTable
IndexOptions IconHeight=16 IconWidth=16
IndexOptions SuppressDescription
HeaderName includes/header.php
ReadmeName includes/footer.html

我刚刚重新创建了所有这些设置,并能够使用以下方法获取基本目录名称:

echo basename($_SERVER["REQUEST_URI"]);

/includes/header.php.

确保你的.htaccess代码是这样的:

Options +Indexes
IndexOptions FancyIndexing
IndexOptions FoldersFirst IgnoreCase XHTML NameWidth=*
IndexOptions SuppressHTMLPreamble SuppressRules HTMLTable
IndexOptions IconHeight=16 IconWidth=16
IndexOptions SuppressDescription
AddType text/html .php
Addhandler application/x-httpd-php .php
HeaderName /includes/header.php
ReadmeName /includes/footer.html

我不是 100% 确定您的问题,但听起来您正在寻找当前所在页面的 URL/目录,而不是标题的目录?

怎么样:

$_SERVER['PHP_SELF'];
$_SERVER['REQUEST_URI'];
$_SERVER['SCRIPT_NAME'];
$_SERVER['SCRIPT_FILENAME'];
$_SERVER['DOCUMENT_ROOT'];

这些都根据服务器收到的 HTTP 请求提供有关服务器打开的当前文件的信息。