这是我们为绝对路径输入的内容: -
echo $_SERVER['DOCUMENT_ROOT'];
输出如下: -
C:/xampp/htdocs
目前我在命名为“项目”的文件夹中工作,因此我的项目根目录是: -
echo $_SERVER['DOCUMENT_ROOT'].'/project';
输出
C:/xampp/htdocs/project
现在,如果我将项目上传到带有文件夹名称的网络服务器,请说“网站”,我需要更改
echo $_SERVER['DOCUMENT_ROOT'].'/project';
------------------------------------------
to
------------------------------------------
echo $_SERVER['DOCUMENT_ROOT'].'/website';
------------------------------------------
or if i upload it in root then
------------------------------------------
echo $_SERVER['DOCUMENT_ROOT'];
我需要将文件存储在不同的文件夹和目录级别....所以有什么方法可以使这个东西变得动态任何技巧?
我希望尽量减少这个障碍,并且一直重命名它可能会浪费大量时间。
一旦我使用/ project then / website并最后直接使用root ...可能是任何技巧,我们可以通过它来绕过这个障碍和声明或东西......所以无论我们上传哪里,我们只需更改文件中的名称它完成了....类似的东西。
答案 0 :(得分:3)
使用
在root目录中初始化它dirname(__FILE__)
如果您使用链接目录(将使用原始路径),这将无法正常工作,这在CodeIgniter中是一个无赖的例子
答案 1 :(得分:0)
你可以使用这样的东西
$environments = array(
'localhost' => 'development',
'example.com' => 'production',
);
$active_environment = 'development';
foreach( $environments as $key => $value ){
if( stristr( $_SERVER['SERVER_NAME'], $key ) ){
$active_environment = $value;
break;
}
}
define( 'ENVIRONMENT', $active_environment );
function getRoot(){
switch( ENVIRONMENT ){
case 'production' : return $_SERVER['DOCUMENT_ROOT'].'/website';
case 'development' :
case default: return $_SERVER['DOCUMENT_ROOT'].'/project';
}
}