PHPで相対パスから絶対パスへ変換するプログラム

PHPコード:
/**
* 相対パスは絶対パスへ変換
* @param string $file
* @return string
*/
function dirToHttpUrl($file) {

//ファイルが存在するかどうかを確認
if (!file_exists($file)) {
return false;
}

//ドメイン
$nowUrl = dirname('http://’.$_SERVER['HTTP_HOST’].$_SERVER['PHP_SELF’]);   //現在のドメイン名
$tempUrl = explode('.’, $_SERVER['HTTP_HOST’]);
$dirUrl = 'http://www.’.$tempUrl[1].’.’.$tempUrl[2].’/’;   //プライマリドメイン名

$tempFile = explode('../’, $file);
$tempNum = array_count_values($tempFile);

if (array_key_exists(", $tempNum)) {
$fileNum = $tempNum["];
$fileEnd = end($tempFile);
} else {
$fileNum = 0;
$fileEnd = '/’.substr($tempFile[0], 2);
}

//ファイルパス階層を統計
$tempWeb = explode('/’, $nowUrl);
$tempWeb = array_slice($tempWeb, 3);
$webNum = count($tempWeb);

//ファイルに対応するドメイン名
if ($fileNum > $webNum) {
$nowUrl = $dirUrl;
}

//結果をリターン
return $nowUrl.$fileEnd;

}

//dirToHttpUrl('./1.jpg’);

PHP

Posted by arkgame