【问题标题】:Can't reference non php files from another folder?不能从另一个文件夹引用非 php 文件?
【发布时间】:2018-10-22 19:09:06
【问题描述】:

我在https://fixitprobid.com 有一个站点,在主目录中我有 3 个文件夹:css、js 和 diy。 每个都会导致它们各自类型的文件。所以 css/styles.css、js/utility.js、diy/install-a-dryer.php(文件和文件夹比这多得多,但这是一般结构)

install-a-dryer.php如何到达styles.css和utility.js?

目前, install-a-dryer.php 有 require_once("../initialize.php"); 这应该离开 diy 文件夹并最终在主目录中。对吧?

然后initialize.php有require_once("header.php");(在主目录中)

header.php 有require_once('meta.php');(在主目录中)

meta.php 有<link href="css/styles.css" rel="stylesheet" type="text/css" /> <script src="js/utility.js"></script>

似乎认为所有这些东西现在都在 diy 文件夹中,因为它们都包含在其中。即使我使用 ../ 来摆脱它。所以他们不工作。

我收到这样的错误

如何更改 install-a-dryer.php 或 initialize.php 文件以使它们全部工作?请注意,我只能编辑这两个文件。编辑所有单个链接不是一种选择。可能有数以千计的参考文献,即使有正确的方法,我也不会找到所有参考文献。

谢谢:)

【问题讨论】:

  • 您的相对链接是相对于客户端 url。您在/diy/ 文件夹中调用脚本,因此路径变为/diy/css/styles.css。您的要求包含路径与此无关。

标签: php reference include require-once home-directory


【解决方案1】:

因为 css 和 js 文件夹位于你网站的根目录,所以在路径的开头添加一个斜杠:

<link href="/css/styles.css" rel="stylesheet" type="text/css" />
<script src="/js/utility.js"></script>

【讨论】:

  • 我之前试过了,我又试了一次,但它似乎没有加载所有内容。主要是styles.css 没有加载。或者至少当我检查元素并且页面看起来一团糟时我没有看到它。来自同一个 css/ 文件夹的其他样式可以工作,但不是主要的 styles.css 文件。而且我知道该文件有效,因为 diy 文件夹之外的任何页面都可以。
  • 可能是因为 CSS 缓存。尝试将 href 更改为 /css/styles.css?version=some_number。阅读更多here
  • 是的,我认为有些文件已连接,但不是全部,也不是主要的 styles.css 文件,因为我在检查元素时看不到它。我试图清除浏览器上的缓存并使用 ctrl-f5 刷新。但即使它有效,也可能会有随机引用和图像也需要有斜线。我希望我只需要更改 diy 文件夹中文件中的代码,因为这些文件位于不同的路径中。
猜你喜欢
  • 1970-01-01
  • 2020-07-30
  • 2014-09-17
  • 2015-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-14
  • 1970-01-01
相关资源
最近更新 更多