【发布时间】:2016-01-20 21:13:19
【问题描述】:
我正在关注this tutorial 创建一个安全的登录系统。我的文件夹逻辑如下:
/var/www/html/mysite/ # html folder is public (here goes index.php, etc)
/var/www/includes/ # includes is hidden (login details, etc)
/var/www/js/ # js is also hidden, as stated on the tutorial
当我说“如教程中所述”时,我指的是这段话:
将此文件的副本存储在根目录下名为“js”的目录中 应用程序目录。
我解释对了吗? js文件夹应该在html里面,而不是www?有什么不同?在我的代码中,我有这样的行:
include_once '../../includes/db_connect.php';
include_once '../../includes/functions.php';
和
<script type="text/JavaScript" src="../../js/sha512.js"></script>
<script type="text/JavaScript" src="../../js/forms.js"></script>
虽然 php 包含运行良好,但 javascript 不包含。 Firefox 检查员在抱怨:
GET http://localhost/js/sha512.js [HTTP/1.1 404 Not Found 0ms]
为什么考虑到我的 js 文件夹在 html 文件夹中,而不是我告诉它的地方?
【问题讨论】:
-
..取决于使用它的文件的文件位置。看起来您的 HTML 文件位于html文件夹内,因此返回两次会将您带到根目录而不是www。尽管为了获得一个明智的答案,您需要向我们展示该 HTML 文件和 PHP 文件在您的目录中的位置。 -
使用绝对路径:如果 / 是服务器的根目录,则使用
../../js/forms.js代替/var/www/js/forms.js。 -
文件位置是/var/www/html/mysite/,所以../../是对的,就像php包含的一样。
-
@Rodrigo 尝试给出相对于你的服务器根目录的绝对路径。
-
@Rodrigo 这并不意味着它是正确的。特别是如果您的 HTML 文件和 PHP 文件位于不同的位置。
标签: javascript html include