Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';我不能把我的javascript文件放在html公用文件夹之外吗?_Javascript_Html_Include - Fatal编程技术网

Can';我不能把我的javascript文件放在html公用文件夹之外吗?

Can';我不能把我的javascript文件放在html公用文件夹之外吗?,javascript,html,include,Javascript,Html,Include,我下面创建一个安全的登录系统。我的文件夹逻辑如下: /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 当我说“如教程所述”时,我指的是这

我下面创建一个安全的登录系统。我的文件夹逻辑如下:

/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';


为什么考虑到我的js文件夹在html文件夹中,而不是我告诉它的地方?

我会尝试将js放在html文件夹中,并像这样链接到它<代码>

如果
www
文件夹是根目录(即用于
http://your-url/
)然后您可以执行以下操作:

<script src="/js/sha512.js"></script> 
<script src="/js/forms.js"></script> 

开头的
/
写着“从网站的根开始”

如果
html
文件夹是您的根目录,您需要将
js
文件夹移动到
html
文件夹中,并且您仍然可以使用上面显示的脚本标记


浏览器会请求JavaScript文件,并且禁止公众访问网站根目录之外的文件夹。您的PHP文件已加载到服务器上,这意味着您可以查看一般公众无权访问的文件。

取决于所用文件的文件位置。您的HTML文件似乎位于
HTML
文件夹中,因此返回两次将导致您指向根目录,而不是
www
。尽管对于异常答案,您需要向我们显示HTML文件和PHP文件在目录中的位置。使用绝对路径:而不是
。/../js/forms.js
使用
/var/www/js/forms.js
如果/是服务器的根目录。文件位置是/var/www/HTML/mysite/,因此.././是正确的,就像php包含一样。@Rodrigo尝试给出相对于服务器根的绝对路径。@Rodrigo这并不意味着它是正确的。特别是如果您的HTML文件和PHP文件位于不同的位置。是的,我将js文件夹更改为HTML文件夹,然后我执行了src=“../js/forms.js”并且它可以工作。HTML是我的公用文件夹,显示为localhost(尚未开发)。问题是,为什么服务器在公用文件夹外“查找”php文件,而不是javascript文件?我为此添加了一段。您可以从服务器访问PHP文件,但不能从浏览器访问。JavaScript文件由浏览器请求,浏览器只允许查看您已公开的文件(通过将其放入web根文件夹)。
GET http://localhost/js/sha512.js         [HTTP/1.1 404 Not Found 0ms]
<script src="/js/sha512.js"></script> 
<script src="/js/forms.js"></script>