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

时间:2013-09-12 16:49:42

标签: php apache .htaccess

我正在通过.htaccess文件中包含的header.php文件设计apache索引样式。我已经把它搞定了,但我需要从URL中检索当前页面标题。所有的PHP引用都指向了解决方案,这些解决方案可以用于获取“当前页面”,这是包含的php文件本身,而不是它的索引目录。

使用它可以工作,但会调出header.php:

$current_folder = basename(dirname(__FILE__));

关于如何解决这个问题的想法?

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

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

.htaccess为每个目录索引提取header.php,所以我需要知道如何获取当前目录名,而不是header.php所在的位置,后面带有/ includes /或header.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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

怎么样:

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

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