PHP中需要或包含文件时的路径问题

时间:2015-01-12 09:51:19

标签: php require-once php-include

我有这样的目录结构:

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

我在jquery.min.js中添加了脚本header.php,然后我在header.php中添加了login.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错误。有人可以向我解释我如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

js的脚本文件在web-root的上下文中工作。只要您的网络根目录是您的index.php所在,<script src="/js/jquery.min.js">应该正常工作

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

答案 1 :(得分:0)

您尝试做的是找到相对于应用程序根目录的javascript文件的路径,而不是任何特定的php文件。因此,如果您将脚本标记更改为以/开头,则无论php文件位于何处,它都会从应用程序的根目录进行提供。

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