【问题标题】:How to find the relative path to a php file that is included in another php file?如何找到包含在另一个 php 文件中的 php 文件的相对路径?
【发布时间】:2012-10-15 21:43:21
【问题描述】:

首先,如果这个问题已经得到解答,我想道歉,我正在寻找两天没有运气。

这是我的设置:

我有 2 个 php 文件,位于 2 个不同的文件夹中:

AAA/1.php AAA/BBB/CCC/2.php

“2.php”包含在“1.php”中。

由于我需要在几个不同的文件夹中使用“2.php”,我需要它能够知道他在哪个文件夹中进行了本地化。所以在“2.php”中我应该有一些类似的代码:

    $directory = [whatever code I need to know where I am];

所以在上面的例子中,相对路径应该是:BBB/CCC

我尝试了几个我发现的函数和编码,但我只能获得“1.php”的完整服务器路径。

谁能帮帮我?

【问题讨论】:

标签: php


【解决方案1】:

我相信你要找的是dirname(__FILE__);

请参阅PHP: Magic Constantsdirname() 了解更多信息。

__FILE__ 文件的完整路径和文件名。如果在包含中使用,则返回包含文件的名称。自 PHP 4.0.2 起, FILE 总是包含一个带有符号链接的绝对路径,而在旧版本中它包含一些下的相对路径 情况。

【讨论】:

  • 这正是我要找的...非常感谢您的帮助。
【解决方案2】:

您可以使用文档根目录作为路径的开始,这样您就不必担心它了。

例如

$_SERVER['DOCUMENT_ROOT'].'/AAA/1.php'

$_SERVER['DOCUMENT_ROOT'].'/AAA/BBB/CCC/2.php'

只要您的 php.ini 配置没有太大变化,无论您身在何处都应该可以工作。

或者你可以使用basename()dirname()的组合

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 2019-04-21
    • 2013-04-09
    • 1970-01-01
    相关资源
    最近更新 更多