Home  >  Article  >  php教程  >  php 相对路径:PHP的相对路径问题

php 相对路径:PHP的相对路径问题

WBOY
WBOYOriginal
2016-06-21 08:50:161012browse

在PHP中require,include一个文件时,大都是用相对路径,是个很头疼的问题。
例如:
(网站根目录)
文件夹
│ │
│ └1.php
文件夹
│ │
│ └2.php
└index.php
问题:在1.php中通过include(“../B/2.php”)来引入B目录下的2.php文件;
在index.php中通过include(“A/1.php”)来引入A目录下的1.php文件;
运行出来当然会出现问题,找不到../B/2.php文件。
记住一个原则,所有的包含语句最后都转换为以包含文件路径为基准的包含路径建议使用一个基本路径来作为所有的路径参考,例如 __FILE__或者 $_SERVER['DOCUMENT_ROOT']
__FILE__:(适合各种情况)
在config文件里配置站点根目录
define( "WEB_ROOT ", dirname(__FILE__) );
config文件放到网站的根目录里,
其它文件包含配置文件,
包含其它文件时根据WEB_ROOT来定位即可。
require_once( WEB_ROOT . "/a.php " );
$_SERVER['DOCUMENT_ROOT'],适合非虚拟主机(Alias)情况
 

<ol class="dp-c">
<li class="alt"><span><span><?php  </span></span></span></li>
<li><span><span class="keyword">if</span><span> (!defined(</span><span class="string">"WETSITE_BASE_DIR"</span><span>)) </span></span></li>
<li class="alt"><span>define(<span class="string">"WETSITE_BASE_DIR"</span><span>, </span><span class="vars">$_SERVER</span><span>[</span><span class="string">'DOCUMENT_ROOT'</span><span>].</span><span class="string">'/Clare/'</span><span>); </span></span></li>
<li><span><span class="keyword">require_once</span><span>(WETSITE_BASE_DIR.</span><span class="string">'includes/global.inc.php'</span><span>); </span></span></li>
<li class="alt"><span>?>  </span></li>
</ol>
本文链接http://www.cxybl.com/html/wlbc/Php/20130319/37249.html



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn