duanqiang2977 2014-07-09 10:17
浏览 41
已采纳

包含在php中的相对路径

I have a common include file to be used in whole website, which is located in home directory. Now to use relative paths in include I have two options:

Using document root to get to root and then using the path to include my file

<?php
include $_SERVER['DOCUMENT_ROOT']."/lib/sample.lib.php";
?>

OR

Using chdir to change working directory of the script to home directory, then including my file.

<?php 
$what_was = getcwd(); 
chdir("/path/to/roo/directory/"); 
include("/lib/sample.lib.php"); 
chdir($what_was); 
?>

I want to ask which of the above methods is good regarding performance and security point of view?

  • 写回答

1条回答 默认 最新

  • dongnuochen9449 2014-07-09 12:55
    关注

    I think none of them.

    Always use some combination of __FILE__ constant and dirname() function.

    For example:

    <?php
      $root_dir = dirname(dirname(__FILE__)); // assuming the root dir is 1 directories behind the executed file.
      include($root_dir . "/lib/sample.lib.php");
    ?>
    

    References:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?