写在前言:
如果我们的网站是直接在根目录配置这还好说,
可是配置到根目录下的一个文件夹里,
那么和路径有关的好多会发生错误。
前言之后:
在php 中有两种包含 一种有 include和require , 这两种是有点区别的。
include包含了一个不存在的文件时,会报错然后继续运行;
require则不然,如果require请求了一个不存在的文件,会抛出严重错误,程序执行中止.
所以建议使用require;
后言:
1.define('ROOT', dirname(__FILE__));
一般方法会在根目录(其他地方也可以)建立一个global.php(名字自己随意取),后序文件大部分都会包含这个文件,include或者require,目录再深,只要包含好这个文件就好,这样就不会出现包含文件这样的错误。
2.如果后台目录较为复杂,session验证或许会出现跳转问题(归根结底还是路径问题)
$admin_path = substr(dirname(__FILE__), getstrlen($_SERVER['DOCUMENT_ROOT']))."/";
$admin_path = str_replace('\\','/',$admin_path);
echo "<script>alert('您还未登录,无法进行相关操作!');window.location.href='".$admin_path."login.php';</script>";
这两句得到的是后台路径,不管网站配置在根目录或者一个文件夹上述方法都适用。