700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 写一个函数_算出两个文件的相对路径php PHP函数计算两个文件的相对路径_php

写一个函数_算出两个文件的相对路径php PHP函数计算两个文件的相对路径_php

时间:2019-01-09 22:31:55

相关推荐

写一个函数_算出两个文件的相对路径php PHP函数计算两个文件的相对路径_php

新浪有个面试题目:写一个php函数算出两个文件的相对路径 ?php //计算出 c.php相对于e.php的相对路径应该是../../12/34 $a = /a/b/c/d/e.php; $b = /a/b/12/34/c.php; getpathinfo($a, $b); function getpathinfo( $a, $b ) { $a

新浪有个面试题目:写一个php函数算出两个文件的相对路径

//计算出 c.php相对于e.php的相对路径应该是../../12/34

$a = '/a/b/c/d/e.php';

$b = '/a/b/12/34/c.php';

getpathinfo($a, $b);

function getpathinfo( $a, $b ) {

$a2array = explode('/', $a);

$b2array = explode('/', $b);

$pathinfo = '';

for( $i = 1; $i <= count($b2array)-2; $i++ ) {

$pathinfo.=$a2array[$i] == $b2array[$i] ? '../' : $b2array[$i].'/';

}

print_R($pathinfo);

}

?>

还有个比较复杂的方法不太完善思路是正确的可以研究

$a = 'aa/bb/cc/dd/a.php';

$b ='aa/bb/11/22/33/b.php';

//写一个函数,数出二个文件的相对路径。

function GetNum($variant,$variant2){

$pth1 = null;

$pth2 = null;

$tmp = array();

//分别判断路径下面的文件是不是存在.

if(is_file($variant) && is_file($variant2)){

$len1 = count($pth1 = explode('/',dirname($variant)));

$len2 = count($pth2 = explode('/',dirname($variant2)));

$maxlen = max($len1,$len2);

for($i=1;$i

if($pth1[$i] != $pth2[$i] && isset($pth1[$i])){

if(isset($pth2[$i])) $tmp[] = $pth2[$i];

}else{

$tmp[] = $pth2[$i];

$pathe .= '../';

}

}

return $pathe.implode('/',$tmp).'/'.basename($variant2);

}else{

return '路径不合法!';

}

}

print_r(GetNum($a,$b));

?>

欢迎大家阅读《PHP函数计算两个文件的相对路径_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。