PHP インクルードに絶対パスを使用しようとしています。
今、私は次のようにしようとしています:
include($_SERVER['DOCUMENT_ROOT'].'/sitefolder/apis/db.php');
しかし、私のサイトはルート フォルダーを指していないため機能しないため、/sitefolder を追加する必要があります。
これをバイパスして絶対 URL を生成する方法はありますか? または、絶対 URL を許可する方法はありますか?
PHP インクルードに絶対パスを使用しようとしています。
今、私は次のようにしようとしています:
include($_SERVER['DOCUMENT_ROOT'].'/sitefolder/apis/db.php');
しかし、私のサイトはルート フォルダーを指していないため機能しないため、/sitefolder を追加する必要があります。
これをバイパスして絶対 URL を生成する方法はありますか? または、絶対 URL を許可する方法はありますか?
initialize.phpを作成します。
そして、サイトのルートを定義します。
config.php、db.phpなどのインクルードファイルをインクルードします。
そして、ファイルにinitialize.phpのみを含めます。
defined('DS') ? null : define('DS', '/');
defined('SITE_ROOT') ? null : define('SITE_ROOT',$_SERVER['DOCUMENT_ROOT']);
defined('LIB_PATH') ? null : define('LIB_PATH', SITE_ROOT.DS.'includes');
require_once(LIB_PATH.DS.'functions.php');
require_once(LIB_PATH.DS.'session.php');
require_once(LIB_PATH.DS.'database.php');
私はファイルを含めるために以下のテクニックを使用する傾向があります。
include rtrim(dirname(__FILE__), '/\\') . DIRECTORY_SEPARATOR . 'my_file.php' ;
同じディレクトリにある場合、または同じディレクトリに対して相対的である場合は、次のようなものを使用できます(簡単にするためにrtrim関数を除外しました)
include dirname(__FILE__) . '/file.php';
include realpath(dirname(__FILE__) . '/../dir') . '/file.php';
include realpath(dirname(__FILE__) . '/../dir/file.php');
定数を定義することも素晴らしい仕事をします。
define('BASEDIR', dirname(__FILE__));
define('LIBDIR', BASEDIR . '/lib');