html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

PHP函数计算两个文件的相对路径_PHP教程_编程技术

[ ] 已经帮助:人解决问题

 HVjHTML5中文学习网 - HTML5先行者学习网

  新浪有个面试题目:写一个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 ) { $aHVjHTML5中文学习网 - HTML5先行者学习网

  新浪有个面试题目:写一个php函数算出两个文件的相对路径HVjHTML5中文学习网 - HTML5先行者学习网

  HVjHTML5中文学习网 - HTML5先行者学习网

  //计算出 c.php相对于e.php的相对路径应该是../../12/34HVjHTML5中文学习网 - HTML5先行者学习网

  $a = '/a/b/c/d/e.php';HVjHTML5中文学习网 - HTML5先行者学习网

  $b = '/a/b/12/34/c.php';HVjHTML5中文学习网 - HTML5先行者学习网

  getpathinfo($a, $b);HVjHTML5中文学习网 - HTML5先行者学习网

  function getpathinfo( $a, $b ) {HVjHTML5中文学习网 - HTML5先行者学习网

  $a2array = explode('/', $a);HVjHTML5中文学习网 - HTML5先行者学习网

  $b2array = explode('/', $b);HVjHTML5中文学习网 - HTML5先行者学习网

  $pathinfo = '';HVjHTML5中文学习网 - HTML5先行者学习网

  for( $i = 1; $i <= count($b2array)-2; $i++ ) {HVjHTML5中文学习网 - HTML5先行者学习网

  $pathinfo.=$a2array[$i] == $b2array[$i] ? '../' : $b2array[$i].'/';HVjHTML5中文学习网 - HTML5先行者学习网

  }HVjHTML5中文学习网 - HTML5先行者学习网

  print_R($pathinfo);HVjHTML5中文学习网 - HTML5先行者学习网

  }HVjHTML5中文学习网 - HTML5先行者学习网

  ?>HVjHTML5中文学习网 - HTML5先行者学习网

  还有个比较复杂的方法不太完善思路是正确的可以研究HVjHTML5中文学习网 - HTML5先行者学习网

  HVjHTML5中文学习网 - HTML5先行者学习网

  $a = 'aa/bb/cc/dd/a.php';HVjHTML5中文学习网 - HTML5先行者学习网

  $b ='aa/bb/11/22/33/b.php';HVjHTML5中文学习网 - HTML5先行者学习网

  //写一个函数,数出二个文件的相对路径。HVjHTML5中文学习网 - HTML5先行者学习网

  function GetNum($variant,$variant2){HVjHTML5中文学习网 - HTML5先行者学习网

  $pth1 = null;HVjHTML5中文学习网 - HTML5先行者学习网

  $pth2 = null;HVjHTML5中文学习网 - HTML5先行者学习网

  $tmp = array();HVjHTML5中文学习网 - HTML5先行者学习网

  //分别判断路径下面的文件是不是存在.HVjHTML5中文学习网 - HTML5先行者学习网

  if(is_file($variant) && is_file($variant2)){HVjHTML5中文学习网 - HTML5先行者学习网

  $len1 = count($pth1 = explode('/',dirname($variant)));HVjHTML5中文学习网 - HTML5先行者学习网

  $len2 = count($pth2 = explode('/',dirname($variant2)));HVjHTML5中文学习网 - HTML5先行者学习网

  $maxlen = max($len1,$len2);HVjHTML5中文学习网 - HTML5先行者学习网

  for($i=1;$i<$maxlen;$i++){HVjHTML5中文学习网 - HTML5先行者学习网

  if($pth1[$i] != $pth2[$i] && isset($pth1[$i])){HVjHTML5中文学习网 - HTML5先行者学习网

  if(isset($pth2[$i])) $tmp[] = $pth2[$i];HVjHTML5中文学习网 - HTML5先行者学习网

  }else{HVjHTML5中文学习网 - HTML5先行者学习网

  $tmp[] = $pth2[$i];HVjHTML5中文学习网 - HTML5先行者学习网

  $pathe .= '../';HVjHTML5中文学习网 - HTML5先行者学习网

  }HVjHTML5中文学习网 - HTML5先行者学习网

  }HVjHTML5中文学习网 - HTML5先行者学习网

  return $pathe.implode('/',$tmp).'/'.basename($variant2);HVjHTML5中文学习网 - HTML5先行者学习网

  }else{HVjHTML5中文学习网 - HTML5先行者学习网

  return '路径不合法!';HVjHTML5中文学习网 - HTML5先行者学习网

  }HVjHTML5中文学习网 - HTML5先行者学习网

  }HVjHTML5中文学习网 - HTML5先行者学习网

  print_r(GetNum($a,$b));HVjHTML5中文学习网 - HTML5先行者学习网

  ?>HVjHTML5中文学习网 - HTML5先行者学习网

HVjHTML5中文学习网 - HTML5先行者学习网
HVjHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助