php简单实现相对路径转绝对路径-PHP问题

资源魔 29 0

函数引见:

realpath() 函数前往相对门路。该函数删除了一切符号衔接(比方 '/./', '/../' 和过剩的 '/'),前往相对门路名。若失败,则前往 false。比方说文件没有存正在的话。

is_dir() 函数反省指定的文件能否是一个目次。假如目次存正在,该函数前往 TRUE。

相干视频教程保举:php视频教程

示例以下:

/**
 * 简略形式 start
 */
$rel_path = '../abc/qwe/';//绝对门路
 
$rel_path = iconv('UTF-8', 'GBK', $rel_path);//应用iconv转换中文编码,避免乱码
if (!is_dir($rel_path)){
	mkdir($rel_path,0777,true);
}
$abs_path = realpath($rel_path) . '/';//转换成相对门路
echo $abs_path;
echo '<hr>';
 
/* 删除了带盘符段的门路 */
 
$new_abs_path = str_replace('\\','/',$abs_path);
echo $new_abs_path;
echo '<hr>';
 
$rdl_path =  str_ireplace($_SERVER['PHP_SELF'],'',str_replace('\\','/',__FILE__));
echo $rdl_path;
echo '<hr>';
 
$file_abs_url = str_replace($rdl_path,"",$new_abs_path);
echo $file_abs_url;
echo '<hr>';
 
/**
 * 简略形式 end
 */

另外一种形式:

/**
 * 绝对门路-转换->相对门路
 * @param string $RelUrl 绝对门路
 * @param string $PrefixUrl 前缀拼接门路
 * @param string $SuffixUrl 后缀拼接门路
 * @return string 前往值
 */
function RelToAbs($RelUrl,$PrefixUrl = '',$SuffixUrl = ''){
	$RelUrlRep = str_replace('\\','/',$RelUrl);
	$UrlArr = explode('/',$RelUrlRep);
	$NewUrlArr = array();
	foreach ($UrlArr as $key=>$value){
		if ($value == '..' && !empty($NewUrlArr)){
			array_pop($NewUrlArr);
		}else if ($value != '..' && $value != '.' && $value != ''){ 
		// && $value != '' 避免多重 斜杠(/)
			$NewUrlArr[] = $value;
		}
	}
	$UrlStr = !empty($NewUrlArr) ? implode('/',$NewUrlArr) : '/' ;
	return $PrefixUrl.$UrlStr.$SuffixUrl;
}
$file_abs_path = RelToAbs($rel_path);
print_r($file_abs_path);

相干文章教程保举:php教程

以上就是php简略完成绝对门路转相对门路的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 php故障解决 php使用问题 相对路径 绝对路径

抱歉,评论功能暂时关闭!