絶対、つまり「/」で区切る方が常に優れています。そうすれば、アプリを移動しても、パス名を手動で更新する必要はありません。2 つの関数の組み合わせを使用して、絶対パスを定数として定義します。
function tsl($path) {
if (substr($path, strlen($path) - 1) != '/'){
$path .= '/';
}
}
function get_root_path() {
$pos = strrpos(dirname(__FILE__),DIRECTORY_SEPARATOR.'inc');
$adm = substr(dirname(__FILE__), 0, $pos);
$pos2 = strrpos($adm,DIRECTORY_SEPARATOR);
return tsl(substr(__FILE__, 0, $pos2));
}
define('ROOTPATH', get_root_path());
私の例では inc/ を使用していますが、これは変更できます。これにより、常にパスを見つけようとするのではなく、定数 ROOTPATH を使用することができます。
もう一つの方法はこんな感じです...
<?php
define('ROOT_DIR', dirname(__FILE__));
define('ROOT_URL', substr($_SERVER['PHP_SELF'], 0, - (strlen($_SERVER['SCRIPT_FILENAME']) - strlen(ROOT_DIR))));
?>
これらの定義を含むファイルをテンプレート ページに含めるだけです。