简单的PHP路径问题

时间:2011-09-07 00:37:06

标签: php

我是PHP的新手,所以这是一个非常简单的问题。假设我有两个文件夹:FolderA和FolderB。在FolderA中,我有一个PHP文件。在FolderB中,我有一个证书。如果我想在PHP文件中插入证书的相对路径,那么这就是这条路径:../FolderB/Certificate.pem

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

您的解决方案完全取决于FolderA中的文件是否位于“包含树”的顶部。

更好的解决方案是使用绝对路径,例如

// FolderA/file.php

// PHP 5.3 only
$path = realpath(__DIR__ . '/../FolderB/Certificate.pem');

// or if stuck with PHP 5.2 or earlier
$path = dirname(dirname(__FILE__)) . '/FolderB/Certificate.pem';

为了说明为什么绝对路径更好,请考虑这个

// FolderA/file.php
$path = '../FolderB/Certificate.pem';

// some-other-file-in-the-root-directory.php
include 'FolderA/file.php';
// $path is now incorrect as it points to
// ROOT . '../FolderB/Certificate.pem'

答案 1 :(得分:0)

真。

/* FolderA/test.php: */
var_dump(is_file('../FolderB/Certificate.pem'));

答案 2 :(得分:0)

除非你参与set_include_path(),否则你会是对的!