用于CMS的PHP/HTML项目的目录结构


Directory structore of PHP/HTML project for CMS

我的网页设置正确。我刚刚开始构建一个PHP部分,它将允许一些CMS功能。我的工作空间结构是:

/workspace/website/index.html
/workspace/website/images
/workspace/website/admin/user_login.php

现在我的index.html正确地绘制了所有的图像。但是我的user_login.php没有。我用这个链接将HTML包裹在PHP脚本中

    <a href="index.html"><img src="images/banner.png" height="100px" align="left" /></a>

当我把user_login.php放在根目录中时,一切都显示得很好,但当我把它放在管理部分的文件夹中时,没有任何HTML内容显示出来。

我错过了什么?这对于构建CMS部分来说真的很糟糕吗?出于组织目的,我试图尽可能多地对其进行划分,但这是我的第一个PHP/HTML工作,所以我对正确的"形式"不太熟悉。

您所需要做的就是将图像引用更改为绝对链接,方法是在路径中添加一个初始斜杠:

<img src="/images/banner.png" height="100px" align="left" />

目前您有相对路径,因此浏览器正在/admin/images/banner.png中查找图像,这显然不起作用。

这是一个很好的习惯,为任何网站内的链接或参考。

/预先发送到您的资产URL,以便从根目录加载它们。如果不这样做,浏览器将尝试查找admin/images/banner.png

示例:

<img src="/images/banner.png" height="100px" align="left" />

相对路径是相对于当前位置的。破坏的不仅仅是你的图像,还有任何使用相对链接的链接或导入。

当您在admin/user_login.php中时,换句话说,浏览器正在查找

 <a href="admin/index.html"><img src="admin/images/banner.png" /></a>

您可以通过设置根相对链接来解决此问题,即基于网站的web根的路径。

 <a href="/index.html"><img src="/images/banner.png" /></a>