This is a quick glance at the PHP files used in phpBB and what each one is used to accomplish.
Files in the root folder
These are the main phpBB files that users often access.
Starts the real processing of phpBB page by setting up variables, including commonly used files and getting configuration data.
Holds database details (username, password, etc).
First file included in a phpBB page. Holds the filename extension of PHP files and a place holder for starting calculation of page generation times.
Displays a forum's FAQ and BBCode Guide pages.
User Group Control Panel pages.
Displays main forum page and category pages.
Handles logging users in and out.
Displays a list of all forum members and some profile information.
Moderator Control Panel pages.
Displays posting form for new topics, new private messages and replies to both.
Private Messages control panel. Displays PM boxes (Inbox, Outbox, etc.) and handles moving/deleting of PMs. Note that all PM sending is done through posting.php.
A placeholder page for registration, profile editing and other profile related functions. It will include usercp_viewprofile.php, usercp_register.php, usercp_sendpasswd.php, usercp_activate.php or usercp_email.php as needed.
The forum search engine.
Displays a list of topics in a forum.
Displays a list of online users.
Displays posts in a topic.
Files in the admin/ folder
These files create the Administration Panel of a forum.
Manages the Configuration page.
Database maintenance utilities provided by phpBB.
Allows you to disallow certain usernames from being registered.
Manage forum pruning settings.
Set the authorization levels for a forum.
Create, delete and otherwise manage forums and categories.
Create, delete and otherwise manage usergroups.
Send an e-mail to all forum members.
Manage and create rank settings.
Edit and add smilies for your forum.
Add, edit or delete forum styles.
Set permissions for users and usergroups.
Manage user ban settings.
An admin-only version of the profile editor with some added options. Admins can edit anyone's profile.
Control the word censor.
Creates the three main Admin Panel index pages. The first is the frameset that displays the navigation frame and the main page of the Admin Panel. The other two pages created by index.php are the navigation frame and the main ACP page.
Builds the admin panel page footer, closes the database connection and outputs the page.
Creates the admin panel page header and defines global template variables that can be used on any page.
Checks to see if a user trying to access the admin panel is logged in and a board admin. Also includes page_header_admin.php.
Files in the includes/ folder
These files are never accessed directly. Instead, they are included into the files listed above when needed. Typically, these files will contain a series of functions or classes used in the other files.
Functions that handle phpBB authorization system.
Functions that handle converting BBCode to matching HTML, posted URLs to clickable links and reverting those conversions.
Defines PHP-style constants used throughout phpBB.
A placeholder file that will include the database management file appropriate for the database the forum is installed on. In addition, this file will connect to the database.
Contains the emailer class, which is used to compose and send all outgoing e-mails from the forum.
Holds commonly used functions.
Holds functions used in the admin panel.
Holds functions relating to making or viewing posts.
Holds functions dealing with the the forum search engine.
Functions related to building HTML select boxes for forms (a.k.a. drop down lists).
Contains functions for checking form input and ensuring that it meets certain specifications.
Creates the commonly used forum header and defines global template variables that can be used on any page.
Builds the commonly used forum footer, closes the database connection and outputs the page.
Handles pruning of forums.
Contains the session management functions.
Includes phpBB's SMTP e-mail functions, used for sending e-mail when a SMTP server is defined in the Admin Panel.
Parses uploaded *.sql files into a format usable for database interaction. Used by the installer, database restoration utility and some hack installers.
Contains the Template class, which handles the creation of HTML output based on the *.tpl files.
Generates the Topic Review box at the bottom of a reply posting page.
Deals with user activation of accounts.
Handles avatar management in profiles, including uploads and the avatar gallery.
Displays a form for sending e-mail to other users through the forum.
Processes user registration and profile editing.
Sends forgotten passwords.
Displays a user's profile page.
Files in the language/ folder
These files hold all the language specific messages on a forum. The actual files will be in subdirectories named after the language. The English language files, for example, are in lang_english. French files would be in lang_french. Each language directory also includes an "email" subdirectory, which contains template files for e-mails a forum may send out.
Language strings for the admin panel.
FAQ entries for the BBCode Guide.
FAQ entries for the main forum FAQ.
Language strings for the main forum areas.
Words that should be excluded from indexing by the forum search engine. You can add words, one per line, to this file to prevent your database from being overcrowded by commonly used words. Many common words like "a," "and," "the", etc. are already included.
Also used by the search engine, this file lists two words per line. It makes the forum look for both words when either is entered into the forum search. This allows searching to return results for alternate spellings of words; for example, "color" also returns results for "colour."
Files in the db/ folder
These files make up the Database Abstraction Layer. Each file corresponds to a particular type of database software based on the name of the file. The phpBB Database Layer tutorial has more details about these files.