不允许加载本地资源
您使用的网址<a>
, <link>
, <script>
等标签应该相对于文档根目录,例如:
<link rel="stylesheet" type="text/css" href="/QMS/rev3/css/searchBar.css" />
不要混淆磁盘上的路径 with url's,它们是两个完全不同的东西:)
关于确定根路径的建议
我建议不要依赖$_SERVER['DOCUMENT_ROOT']
变量,但像这样确定根文件夹(在config.php
):
define('ROOT_PATH', __DIR__);
你将有一个名为的常量ROOT_PATH
其中将包含C:\xampp\htdocs\QMS\rev3
(没有尾随/
).
现在您可以执行以下操作:
require ROOT_PATH . '/header.php';
路径在ROOT_PATH
与文档根不同。如果您确实想使用文档根目录,请执行此操作(以便ROOT_PATH
然后将包含C:\xampp\htdocs
):
define('ROOT_PATH', __DIR__ . '/../..');
# ...
require ROOT_PATH . '/QMS/rev3/header.php';
规范化绝对路径名
使用可能是明智的realpath()
正如所提到的Capsule https://stackoverflow.com/users/181206/capsule(展开所有符号链接并解析对/./
, /../
和额外的/
人物):
$rootPath = __DIR__ . '/../..'; # or just __DIR__
$realPath = realpath($rootPath);
define('ROOT_PATH', $realPath ?: $rootPath);
If realpath()
无法解析它将返回的路径false
,这就是为什么需要进行一些检查。