It is not usually a good idea to have all the files for an application sitting in the same directory/folder as this can quickly become unmanageable. Instead it is considered to be good practice to split the files across several directories, with a different directory for a different category of file.
On a web server all the files within or under the 'www' directory (known as the web root) are accessible via a URL which is passed to that web server. The directory structure which I use is as follows:
The INCLUDES directory is outside of the web root folder therefore cannot be accessed via any URL. It is used to hold standard files which are accessed via the PHP
The WWW directory (web root) holds the top-level RADICORE directory which holds the initial index page. It contains separate subdirectories for each subsystem within the application.
It is possible to rename the RADICORE directory, move it a lower-level directory, or to move the contents directly below the web root (thus removing the RADICORE directory), but the structure of the various subdirectories must be maintained otherwise the application may cease to function.
Each application (sub)directory should have the same directory structure as the DEFAULT directory. Other subdirectories may be added, but none of the default directories should be removed.
The AUDIT directory holds the files for the Audit Logging system.
The CSS directory holds a collection of CSS files which allow the appearance of all web pages in the application to be set to a predefined theme or style. The user can choose from the available themes by running the Update Session screen.
The DEFAULT directory is used to hold samples of all the files and scripts that may be used in the development of an application.
The DICT directory holds the files for the Data Dictionary.
The ERROR_LOGS directory holds the
errorlog.html which is created by the error handler. This directory may need to be password protected as the error log will contain the output from debug_backtrace() which may contain sensitive data such as database login details.
The IMAGES directory holds all standard images used by the framework.
The LOGS directory holds the files created by background tasks. The contents can be viewed using the Show Batch Log File task.
The MENU directory holds the files for the Menu and Security system.
The WORKFLOW directory holds the files for the Workflow Engine.
The XSL directory is used to hold the standard XSL stylesheets and templates.
Each SUBSYSTEM directory (where the name can be any valid directory name) holds the files for that subsystem. It holds the STYLE_CUSTOM.CSS file which overrides any settings in the
radicore/default.css file. It also has the following set of standard subdirectories:
radicore/xsldirectory instead. This directory may also be used to create copies of the XML documents which are generated during the execution of each script (refer to Update Session to see how to turn this option on).