我有一个使用多个包含的网站(用于页脚,电子邮件处理等)。我也在使用AJAX,它调用特定的URL来加载数据。我对这些文件应该位于服务器上的位置感到有些困惑。我认为,出于安全原因,让公众可以看到文件或路径是一个坏主意。但是,当我将文件放在我的public_html文件夹之外时,仅使用“./filename”不起作用。
更新:除非我提供完整路径名,否则包含不起作用。当我使用以下路径时收到错误:
<?php include('../includes/footer.php');?>
页脚文件位于以下路径中:home / user / php / includes / footer.php。
我的网站位于:home / user / public_html / site.com / files
更新2:我添加了一个新的include_path:“/ home / user / php”。我将include更改为“includes / footer.php”。它现在正常运作。
然而,如果其他人对我原来的问题有任何想法,我会很感激。
答案 0 :(得分:1)
如果您的网站位于/ public_html,您可以使用 文件夹something / include / footer.php
include '../include/footer.php'
for includes,至于你把你的ajax文件放在哪里我认为不重要,人们可以在任何情况下查看javascript来查找地址
答案 1 :(得分:1)
看起来你可能在文档根目录之外了。
如果您的网站必须位于/ home / user / public_html(或类似),请尝试将您的包含文件夹放在/ home / user / public_html / includes中,然后只需参考/ includes
是的,有一个论点是公共可访问区域没有文件,但是如果你已经很好地编写了PHP文件,那应该不是问题。
人们无法看到来源并且使用简单的错误捕获,例如用户是登录的,或者表单提交字段是否有值,您可以将它们重新启动到错误页面或任何您喜欢的位置。
答案 2 :(得分:0)
如果请求的PHP文件将首先由PHP处理。所以用户永远无法获得实际的php文件。只是它的输出。