【问题标题】:How do i find the calling file location?如何找到调用文件的位置?
【发布时间】:2010-09-27 20:09:47
【问题描述】:

我正在尝试定位在 php 中显示的文件的位置。

我有一个小文件,可以包含在根目录或任何文件夹内的任何文件中。

我需要打印出位置。

详细解释:我的配置文件是 config.php,位于网站的根位置,即 localhost/site1/test/。它包含print $_SERVER['SCRIPT_NAME']。它被根目录中的 index.php 和包含根目录中的 database.php 所包含。

我得到两个不同的结果:

  1. localhost/site1/test/,当我在 index.php 中包含 config.php 时

  2. localhost/site1/test/includes,当我包含 config.php 时 数据库.php

我想在这两种情况下都获得 localhost/site1/test。那么可以选择什么来代替$_SERVER['SCRIPT_NAME']

【问题讨论】:

    标签: php variables filesystems


    【解决方案1】:

    尝试dirname(__FILE__)(或__DIR__,如果使用 PHP >= 5.3)。

    http://php.net/manual/en/language.constants.predefined.php

    【讨论】:

    • 它给了我绝对路径。我想要类似 localhost/... 之类的可浏览网页的东西,而不是 c:/abc/xyx/
    【解决方案2】:

    试试这个:print_r($_SERVER),您一定会在该数组中找到您要查找的内容。

    更新:

    <?php
    print_r($_SERVER['HTTP_HOST'].'/'.$_SERVER['SCRIPT_NAME']);
    ?>
    

    【讨论】:

    • 对不起,我没有得到那个...请帮助
    • print_r($_SERVER['HTTP_HOST'].'/'.$_SERVER['SCRIPT_NAME'])
    猜你喜欢
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 2019-08-25
    相关资源
    最近更新 更多