-2

この件に関していくつかの質問があることは知っていますが、それらにはすべて異なる答えが含まれています。5.4以降のベースURLと絶対パスを取得する最も効率的な方法は何だろうと思っています+

絶対パス:魔法定数を使う

define('ROOT', __DIR__); //C:\wamp\www

または、パスを自分で一度書きます

define('ROOT', 'C:\wamp\www');

最終用途:

require ROOT . '/blabla/test.php';

それ以外の場合は、絶対パスをどのように受け取る必要がありますか? より良い方法がない限り、どのオプションが最も効率的でしょうか?

ベース URL については、URL の生成方法がよくわかりません。

4

1 に答える 1

0

これが私がこれについて一般的に行っている方法です。IISなどについてはわかりませんが、「/」ディレクトリセパレーターを処理できるApacheをローカル(Windows)で使用していることに注意してください。

フォルダ構造:

C:/wamp/www/somefolder
    /index.php
    /core
        /database.php
        /config
            /database.php

index.php:

// ROOT will be C:/wamp/www/somefolder
define('ROOT', str_replace('\\', '/', dirname(__FILE__)));
define('CORE', ROOT . '/core');
define('CONFIG', CORE . '/config');
require(CORE . '/database.php');

/somefolder/core/database.php:

require(CONFIG . '/database.php');

したがって、基本的にdirname(__FILE__)は index.php ファイルで使用します。これは常に機能し、ルート ディレクトリへの正しいパスを取得するための信頼できる方法です。

于 2012-12-15T10:52:35.577 に答える