これがあなたのウェブフォルダがどのように見えるかを仮定します
root
/includes
/relativeroot1
/relativeroot2
path.php
上記のincludes
フォルダーに名前の付いたファイルを作成し、次を挿入します
<?php
if (session_id() == '') {
session_start(); /* if not already done */
}
/* replace value below with appropriate header to root distance of this include file */
$header_to_root_distance = 1;
$header_dir = dirname(__FILE__);
$root_distance = substr_count($header_dir, DIRECTORY_SEPARATOR) - $header_to_root_distance;
if($_SERVER['SERVER_ADDR']){
$include_distance = substr_count(dirname($_SERVER['SCRIPT_FILENAME']), "/");
}else{
$include_distance = substr_count(dirname($_SERVER['SCRIPT_FILENAME']), "\\");
}
$r_path = str_repeat('../', $include_distance - $root_distance);
$_SESSION['r_path'] = $r_path;
/* Note - $r_path holds your relative url starting from the root folder */
?>
.htaccess
上記のフォルダーにファイルを作成しroot
、次を挿入します
<IfModule php5_module>
php_value include_path "includes/"
</IfModule>
スクリプトなどの相対パスが必要なファイルを開き、myphp.php
先頭に次を挿入します
<?php require 'path.php' ?>
したがって、ケース内の任意のファイルからの相対パスを要求するには。次のことを行うだけです
<img src="<?php echo $r_path.'relativeroot2/img.jpg' ?>" title="My Image" />