PHP的相对路径问题

 

在PHP中require,include一个文件时,大都是用相对路径,是个很头疼的问题。

 

例如:

 <web>(网站根目录)

 ├<A>文件夹

 │ │

 │ └1.php

 ├<B>文件夹

 │ │

 │ └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)情况

<?php
if (!defined("WETSITE_BASE_DIR"))
define("WETSITE_BASE_DIR", $_SERVER['DOCUMENT_ROOT'].'/Clare/');    
require_once(WETSITE_BASE_DIR.'includes/global.inc.php');
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP 中使用绝对路径和相对路径来引用文件或目录。 相对路径是相对于当前文件所在的目录或当前 URL 所在的目录而言的。相对路径有两种形式: 1. 相对于当前文件所在目录的相对路径:使用 "./" 表示当前目录,使用 "../" 表示上级目录。 例如,假设当前文件路径为 /var/www/html/index.php,引用该目录下的 images 目录可以使用相对路径 ./images 或者 images,引用上级目录的 css 目录可以使用相对路径 ../css。 2. 相对于当前 URL 所在目录的相对路径:使用相对 URL 的方式来引用其他文件或目录。 例如,假设当前 URL 为 http://example.com/news/detail.php,引用该站点下的 images 目录可以使用相对路径 ./images 或者 images,引用上级目录的 css 目录可以使用相对路径 ../css。 绝对路径是以根目录为参照点的路径,以 / 开头。绝对路径可以是服务器文件系统中的绝对路径,也可以是 URL 中的绝对路径。 例如,假设服务器上的网站根目录为 /var/www/html,引用该目录下的 images 目录可以使用绝对路径 /var/www/html/images 或者 URL 绝对路径 /images。 绝对路径和相对路径的选择取决于具体情况,一般来说,如果需要引用的文件或目录位于相同的目录下,可以使用相对路径;如果需要引用的文件或目录位于不同的目录下,或者需要引用的文件或目录是服务器文件系统中的绝对路径,可以使用绝对路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值