确定应用程序的根目录

时间:2013-11-15 16:46:23

标签: php apache

我在php中的相对路径遇到了一些麻烦。在我的一个班级中,我有以下代码:

$iniPath = $_SERVER['DOCUMENT_ROOT'] . "/movies/config.ini";
$ini_array = parse_ini_file($iniPath, true);

此代码完美无缺,因为它返回“/var/www/movies/config.ini”。

但问题是代码不可移植。如果它安装在另一台服务器上,则可能无法将其安装在/ movies /.

tl; dr如何在php中将应用程序目录指定为根目录?

2 个答案:

答案 0 :(得分:1)

您可以使用__DIR__dirname(__FILE__)来确定相对于您的应用的当前路径。

您可以在调用的第一个文件(或配置文件或引导程序文件)中定义一个常量:

<?php
   define('ROOT_DIR', __DIR__.'/');
   // and define some other base path 
   // you can also define everything in a separate file
   define('MOVIE_DIR', ROOT_DIR.'movies/');
   // and define absolute path
   define('CLASS_DIR', '/usr/local/share/something/that/will/never/change/');
   // then your code will looks like
   $iniPath = MOVIE_DIR . '/config.ini';
   $ini_array = parse_ini_file($iniPath, true);

编辑:另一种选择(在您的问题中阅读您的评论后)是使用set_include_path但是,这不常用。

答案 1 :(得分:0)