include的PHP文件和AJAX调用的PHP文件应该放在服务器上的什么位置?

include的PHP文件和AJAX调用的PHP文件应该放在服务器上的什么位置?,php,ajax,server-side-includes,Php,Ajax,Server Side Includes,我有一个网站,使用了大量的包括(页脚,电子邮件处理等)。我还使用AJAX,它调用特定的URL来加载数据。对于这些文件应该在服务器上的什么位置,我有点困惑。我认为,出于安全原因,让文件或路径对公众可见是个坏主意。然而,当我把文件放在我的公共html文件夹之外时,仅仅使用“/filename”是不起作用的 更新:除非我提供完整的路径名,否则include不起作用。我使用以下路径时收到错误,包括: <?php include('../includes/footer.php');?>

我有一个网站,使用了大量的包括(页脚,电子邮件处理等)。我还使用AJAX,它调用特定的URL来加载数据。对于这些文件应该在服务器上的什么位置,我有点困惑。我认为,出于安全原因,让文件或路径对公众可见是个坏主意。然而,当我把文件放在我的公共html文件夹之外时,仅仅使用“/filename”是不起作用的

更新:除非我提供完整的路径名,否则include不起作用。我使用以下路径时收到错误,包括:

<?php include('../includes/footer.php');?>

页脚文件位于以下路径中:home/user/php/includes/footer.php

我的网站位于:home/user/public_html/site.com/files

更新2:我添加了一个新的include_路径:“/home/user/php”。我将include改为“includes/footer.php”。它现在工作正常


不过,如果其他人对我最初的问题有任何想法,我将不胜感激

如果您的站点位于某个/public\u html位置,您可以使用 文件夹名为something/include/footer.php

include '../include/footer.php'

对于includes,关于你把ajax文件放在哪里,我认为这并不重要,人们可以查看javascript来查找地址,在任何情况下,

PHP文件如果被请求,将首先由PHP处理。因此,用户永远无法获得实际的php文件。只是它的输出。

看起来它可能位于文档根目录之外

如果您的网站必须是/home/user/public_html(或类似格式),请尝试将您的includes文件夹放在/home/user/public_html/includes中,只需参考/includes即可

是的,在公共可访问区域中没有文件是有争议的,但是如果您已经将PHP文件编码好,这应该不会是一个问题


人们看不到源代码,并且使用简单的错误捕获,例如用户是否登录,或者表单提交字段是否有值,您可以将他们引导回错误页面或任何您喜欢的地方。

谢谢,但我一定是做错了什么。当我使用整个路径时,include可以正常工作。但是当我使用你建议的方法时,我得到了一个错误。文件位于user/includes/footer。php@Ken对于您的示例,请使用“include'../php/includes/footer.php';”,因为您必须返回两个文件夹才能找到用户,然后输入php/includes/