PHP使用$ _ SERVER [“DOCUMENT_ROOT”]和相对或绝对路径
问题描述:
我使用XAMMP,在我的index.php页面中使用这个变量:
($_SERVER ["DOCUMENT_ROOT"] . "/path/to/my/php/file);"
我的文件结构,像这样设在htdocs目录文件夹:
myprojectnet/include
myprojectnet/css
myprojectnet/js
myprojectnet/folder1/index.php, css folder and js folder, etc;
myprojectnet/folder2/index.php css folder and js folder, etc;
里面我的index.php文件我用这个变量:
($_SERVER ["DOCUMENT_ROOT"] . "/include/header.php");
在我的header.php文件结构的我就像这样:
<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="css/name.css">
<script src="js/jquery.js"></script>
我不得不把我的css文件夹和js文件夹,我的index.php文件所在的同一目录内,我不应该这样做时,我的header.php文件应正确解析我的css文件夹和js文件夹的路径。
答
可以说所有js
和css
文件都在root/assets/css
和root/assets/js
之间。和所有的PHP文件都在像root/main/index.php
或root/other/index.php
,你可以简单地使用这样的事情:
$baseDir = dirname(__DIR__);
$cssFile = $baseDir."/assets/css/style.css";
$jsFile = $baseDir."/assets/js/index.js";
能否请你,说明路径CSS和JS文件相对于PHP的index.php,即要保持它们和index.php的位置。 – mega6382
也请在您使用此位置的位置添加一段代码片段。就我个人而言,我从来没有使用过DOCUMENT_ROOT superglobal来引用我的所有js和css文件的位置,以便将html输出到浏览器。所以我很好奇你是如何使用它的。 – IncredibleHat
区分服务器端文件系统和网站URL结构。后者可以与前者重叠,但'$ _SERVER [“DOCUMENT_ROOT”]'几乎不会与客户端URL有任何关系。 – CBroe