> php教程 > PHP源码 > 新浪一道面试题:写一个函数,算出两个文件的相对路径。

新浪一道面试题:写一个函数,算出两个文件的相对路径。

PHP中文网
풀어 주다: 2016-05-25 17:10:36
원래의
1080명이 탐색했습니다.


<?php
$a = &#39;aa/bb/cc/dd/a.php&#39;;
$b =&#39;aa/bb/11/22/33/b.php&#39;;

//写一个函数,数出二个文件的相对路径。
function GetNum($variant,$variant2){
	$pth1 = null;
	$pth2 = null;
	$tmp = array();
	//分别判断路径下面的文件是不是存在.
	if(is_file($variant) && is_file($variant2)){
		$len1 = count($pth1 = explode(&#39;/&#39;,dirname($variant))); 	
		$len2 = count($pth2 = explode(&#39;/&#39;,dirname($variant2))); 
		$maxlen = max($len1,$len2);
		for($i=1;$i<$maxlen;$i++){
			if($pth1[$i] != $pth2[$i] && isset($pth1[$i])){
				if(isset($pth2[$i])) $tmp[] = $pth2[$i];
			}else{
				$tmp[] = $pth2[$i];
				$pathe .= &#39;../&#39;;
			}
		}
		return $pathe.implode(&#39;/&#39;,$tmp).&#39;/&#39;.basename($variant2);
	}else{
		return &#39;路径不合法!&#39;;
	}

}

print_r(GetNum($a,$b));
로그인 후 복사

                   

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿