【问题标题】:Path troubles when require or include file in PHP在 PHP 中需要或包含文件时的路径问题
【发布时间】:2015-03-10 01:17:01
【问题描述】:

我有这样的目录结构:

 - index.php
 - templates(directory)      
     - login.php
 - header.php
 - js(directory)
     - jquery.min.js

我在header.php 中包含脚本jquery.min.js,然后我在login.php 中包含header.php,但是到jquery.min.js 的路径中断了。我如何尝试通过替换来解决它:

<script src="js/jquery.min.js">

到这里

<script src="<?php echo dirname(__FILE__)?>js/jquery.min.js"> 但后来我得到了这条资源:

http://localhost/var/www/auth/js/jquery.min.js

又是 404 错误。有人可以向我解释如何解决这个问题。

【问题讨论】:

  • 你试过这个吗:
  • @Vivek V Dwivedi,我需要定义路径,当我将项目删除到另一个文件夹时会自动更改什么,我想在另一个文件夹中使用 jquery。这不能解决我的问题。跨度>

标签: php require-once php-include


【解决方案1】:

js 的脚本文件在 web-root 的上下文中工作。只要您的 web-root 是您的 index.php 所在的位置,那么 <script src="/js/jquery.min.js"> 应该可以工作

您使用<script src="js/jquery.min.js"> 这是一个相对路径。所以,如果你调用login.php浏览器请求js相对于它:templates/js/jquery.min.js显然不存在

【讨论】:

    【解决方案2】:

    您要做的是找到 javascript 文件相对于应用程序根目录的路径,而不是任何特定的 php 文件。因此,如果您将脚本标记更改为以/ 开头,它将从您的应用程序的根目录提供服务,而不管 php 文件在哪里。

    将其更改为 <script src="/js/jquery.min.js"> 将从 http://localhost/js/jquery.min.js 提供它,无论您的 php 文件在结构中的哪个位置。

    【讨论】:

    • 好的,我在 header.php 中将它设置为
    • @excluded_once localhost/js/jquery.min.js 服务好吗?如果是这样,并且您的脚本标签设置如上,它应该可以在本地主机上提供的任何页面上工作。 login.php 是否在同一主机上?当您在 chrome 的开发工具中检查网络调用时,它是从哪里尝试加载 jquery.min.js?
    猜你喜欢
    • 2013-10-10
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 2011-12-15
    • 2018-01-13
    相关资源
    最近更新 更多