目前我有一个用PHP编写的网站。我将该网站的完整版本放在单独的目录中(例如test001,test002)以进行测试......
所有webcode文件中都需要初始化文件init.php
,其中包含以下行:
require_once $_SERVER['DOCUMENT_ROOT'].'/test002/init.php';
但是,当我更改测试目录时,我必须在所有文件中修改此行...我正在寻找一种方法将路径保存到init.php
,以便只能更改一次。< / p>
$_SESSION
?答案 0 :(得分:1)
会话不是一个很好的解决方案。你可以创建一个配置文件。然后你可以这样包括 的的config.php 强>
$file=dirname(__FILE__).'/test002/init.php';
include($file);
在其他php文件中
include('config.php');
并在您需要的所有文件上调用配置文件。像这样你只需要改变配置文件中的路径
答案 1 :(得分:1)
如果每个文件夹(test001
,test002
等)都有init.php
文件,并且每个init.php
不同,那么您可以使用魔术常量{{1 }}
__DIR__
如果require_once( __DIR__ . "\init.php" );
在各个测试文件夹中相同,那么最好将init.php
放在这些文件夹中并使用公共包含路径。
init.php
答案 2 :(得分:1)
老工作方式:
require_once('init.php');
//This is for all files in the same directory
require_once('../init.php');
//This is for all files in a directory 1 lvl under the init.
require_once('../../init.php');
//This is for all files in a directory 2 lvl under the init. .. And so on
如果所有文件都在1个基本目录中(例如test001,test002 ......),则没有必要使用其他任何东西。
答案 3 :(得分:0)
制作congig.php
文件并定义常量如下。
<?php
$web_path = "test002/init.php";
define('PATH',$_SERVER['DOCUMENT_ROOT']);
new_path = PATH.'/'.$web_path;
?>