如何从正确的位置调用CSS文件


How to call a CSS file from the right place

我正在用PHP开始一个项目,我想从一开始就正确地组织我的文件(不像我的上一个项目,几乎每个文件都在一个目录中)。问题如下,我将用一个例子来描述:

取以下文件:index.php、includes/header.php和css/common.css。Index.php '包含'头文件(就像许多其他PHP文件一样)。然后,头部调用common.css,以便它的html元素可以被正确放置。Common.css还将为index.php和其他文件中的通用元素提供样式。

注意,由于包含了头文件,当头文件调用common.css时,它会从调用it的文件的位置调用;在本例中,是index.php。但是,如果我添加,比如说,modules/friends.php并调用它的头文件,它将在错误的位置查找CSS文件!

最初,我试图通过在调用CSS文件时使用实际路径来解决这个问题。然而,我的本地机器和web服务器的目录布局不同,因此我不能简单地调用/var/www/whatever。

谁能帮助我或重定向到一个地方,这类事情的记录?

谢谢,

典范

始终指定绝对路径到您的所有资源:.css, .js,图像等…

http://en.wikipedia.org/wiki/Absolute_path

然而,我的本地机器和web服务器有不同的目录布局,因此我不能简单地调用/var/www/whatever。

。Web路径与本地文件系统路径不同。当您在web中指定路径时-根符号/指定webroot(您的项目所在的目录),而不是您的文件系统根。

恭喜你发现了一个大问题。

是的,这总是一个你一开始就需要回答的重要问题。

我终于学会了——这是在相当多年之后——尽我最大的努力使开发机器(比如我的PC)上的文件结构与主机(例如Linux主机)上的文件结构完全相同。仅这一件事就使我免于无尽的悲伤。

如果你能做到这一点,那么剩下的就是小菜一碟了,相信我。您可以将文件放在两台机器上任何您想要的目录中,任何您认为有意义的目录中。你可以弄清楚哪些文件应该放在哪里。

如果你不尝试在两台机器上设置几乎相同的文件目录,当你编辑的时候,你会永远想知道,"嘿,我在什么机器上?如果我在主机上,那么very important-file。php在/top - level中,其他的都在它下面。但如果我在PC上,very important-file。php在/my-files中,然后其他文件在不同的级别,我是否删除了那个文件,然后……"我的上帝,不要让我思考,更不用说思考那些愚蠢的垃圾了。

您可以处理并记住根在不同机器上的不同位置,但除此之外,忘记它。

现在,当你开始运行你的东西时,你总是会知道这些东西的片段在哪里:CSS文件,JS文件,等等。另外,你可以(也许;如果幸运的话)在PC 主机上调试代码同样好,没有任何差异,也没有任何更改。另外,当你上传你的新代码时,你可以通过FTP把它放到一个你喜欢的地方。(这有一个非常好的辅助好处,您可以在开发机器上移动文件到任何您想要的地方。)

小菜一碟!不要错过这个机会,为自己节省几天或几周的时间。

总是IMHO。