【问题标题】:Including a PHP file, treats relative URLs from that directory包括一个 PHP 文件,处理来自该目录的相对 URL
【发布时间】:2009-02-23 20:42:29
【问题描述】:

我的服务器上有一个 PHP 文件 root.. index.php .. include's .. DIR/main.php

现在 ..DIR/main.php ..include 的许多 附近 PHP 文件使用 relative URL 使用 ..include("./common1.php");

我可以通过任何方式更改相对 URL 基本路径,因此当包含“DIR/main.php”时,它可以相对访问其附近的 PHP 文件,例如“DIR/common1.php”,而不是试图在站点根目录中找到“common1.php”。

【问题讨论】:

    标签: php url relative-path server-side-scripting


    【解决方案1】:

    看看set_include_path

    编辑:将路径附加到include_path 时,请务必使用 PATH_SEPARATOR 常量,因为它旨在使您的包含路径与操作系统无关。

    <?php
    
    set_include_path(implode(PATH_SEPARATOR, array(
        get_include_path(),
        '/DIR1',
        '/DIR2/DIR3',
        dirname(__FILE__),
    )));
    
    ?>
    

    【讨论】:

      【解决方案2】:

      首先,将 "relative-URL base path" 设置为您的目录

      set_include_path( get_include_path() . '/DIR' );
      

      其次,包含你的文件!

      require( 'main.php' );
      

      虽然我没有测试过,但这应该可以工作。

      【讨论】:

        【解决方案3】:

        除了 lonut 的回答,你可以使用__FILE__ 常量和dirname() 的组合来获取文件的目录。

        $include_path = dirname(__FILE__);
        set_include_path($include_path);
        

        【讨论】:

          猜你喜欢
          • 2013-05-03
          • 1970-01-01
          • 2012-02-18
          • 1970-01-01
          • 2012-02-08
          • 2012-01-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多