PHP目录结构混乱

时间:2012-04-11 19:00:31

标签: php include directory-structure

我正在尝试使用PHP作为齿轮背后的驱动力来创建一个网站。网站背后的想法(通常)要求每个用户都可以选择创建自己的配置文件(目前正在考虑为每个用户创建一个目录)。

我一直在进行大量研究,以便尽可能以最佳方式设置此应用程序。但是,在创建目录结构时,我感到非常困惑。我正在考虑下载一个框架助手(CodeIgniter),它可能会帮助我进行冒险,但我宁愿先得到别人的意见。

目前我的所有文件和内容都在我的public_html文件夹中,我知道这不是理想的设置。但我不确定如何创建替代结构。我不知道在哪里存储各种模板(header.php,footer.php等)以及如何/在何处调用它们。

我想创建页面以列出“关于”,“联系页面”和其他内容,但不知道这些页面应该位于何处?我是否将这些页面的内容保存在public_html目录中,只是包含各个子文件夹中的模板?

关于config.php文件:我试图在单个文件中获得有关MySQL连接的所有必要信息,以及在站点内每个页面开头包含的其他必要信息。

思考?我对云很新,所以非常感谢简单和基本的回复!

4 个答案:

答案 0 :(得分:1)

你在想这个错误。您不需要每个用户的目录。您可以使用GET params让一个脚本(例如,profile.php)为依赖于传递给它的数据的用户提取适当的配置文件。例如,profile.php?userid=5212会为用户5212提取个人资料(在这种情况下,$_GET['userid']将包含用户的ID)。传递任何内容都很容易默认为当前登录用户提取配置文件。

您也可以使用mod_rewrite以便http://www.yoursitehere.com/profile/5212/可以做同样的事情(查看大多数PHP框架中的路由)

您的目录结构应该适合您。如果网站足够简单,您可以使用简单的东西,例如

public_html/
    css/
    includes/
    images/
    js/

您的数据库配置可以存在于public_html/includes/中,您可以将其包含在需要数据库连接的任何页面中。您的约会和联系页面可以是public_html/中的实际文件,以简化操作。同样,这些只是建议。您的目录结构应该是您需要的任何目录。

答案 1 :(得分:0)

将所有内容存储在对您有意义的结构中。这样的事情应该有效:

的public_html

- 包括

-images

-CSS

-blog

等等......

关于配置文件,您可以存储在public_html目录或includes目录

答案 2 :(得分:0)

您可以考虑使用像Symfony这样的PHP Web框架。它将有助于您掌握许多基础知识,以便您可以专注于产品功能。

答案 3 :(得分:0)

对于用户配置文件,将所有信息存储在数据库中,并将用户ID作为字段。 当用户登录时,运行查询以通过查询用户ID来选择所有信息。

对于文件结构,您可以使用:     

    public html
    includes
      header.html
      footer.html
      config.php
    classes
    pages (stores other pages besides index.php here, contact, about etc.)
    css
    JS
    index.php/html
    
在public_html文件夹之外我有我的mysqli.php文件。

要在index.php文件中包含这些头文件,您只需创建(在您的包含文件夹中或您选择的任何位置)config.php文件,其中包含以下内容:

    require_once($server['document_root']."/classes/filename.php"); // include needed files and mysqli connection here as well

如果需要,您还可以在配置文件中设置自定义错误处理程序。

在index.php文件中,您将调用配置文件(它将自动包含您在配置文件中指定的任何文件)以及您的页眉和页脚,即

include('/includes/header.html');
include('/includes/config.php');
<!--ENTER PAGE CONTENT HERE-->
include('/includes/footer.html');