すべてのインクルード ファイルを必要なページの上部に配置するのではなく、それらを 1 つのインクルード ファイルに含めてから、関連するインクルード ファイルをロードするリンクにリンクするだけです。
以下は、ルート フォルダー内のすべてのドキュメントに対して正常に機能しますが、サブフォルダー内にある場合は機能しません。サブフォルダー内にあるかどうかを認識し、リセットしてルート フォルダーを検索する方法はありますか?
<?php
// Define the core paths
// Define them as absolute paths to make sure that require_once works as expected
// DIRECTORY_SEPARATOR is a PHP pre-defined constant
// (\ for Windows, / for Unix)
defined('DS') ? null : define('DS', DIRECTORY_SEPARATOR);
// define the location of the default includes path
defined('INC_PATH') ? null : define('LIB_PATH', 'bugs'. DS . 'includes');
// load config file first
require_once(INC_PATH.DS.'config.php');
// load basic functions next so that everything after can use them
require_once(INC_PATH.DS.'functions.php');
// load core objects
require_once(INC_PATH.DS.'database.class.php');
// load database-related classes
require_once(INC_PATH.DS.'bug.class.php');
require_once(INC_PATH.DS.'users.class.php');
?>
これはチュートリアルに基づいていますが、それは私のような Web サーバーではなくローカル フォルダーにあったため、多少調整する必要がありました。