您的位置:首页 > 编程语言 > PHP开发

relativePath.php

2016-04-05 23:30 513 查看
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

 <head>

  <title> relativePath.php </title>

  <meta charset="UTF-8">

  <meta name="Author" content="">

  <meta name="Keywords" content="">

  <meta name="Description" content="">

 </head>

 <body>

<?php

    /** by www.phpddt.com */

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

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

    echo getRelativePath($a, $b); //"../../12/34/"

    function getRelativePath($a,$b){

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

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

        $relativePath   = '';

        for( $i = 1; $i <= count($b2array)-2; $i++ ) {
if($a2array[$i] != $b2array[$i])
{
break;
}

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

        }

$restb2Path='';

        for( $j = $i; $j <= count($b2array)-2; $j++ ) {
$restb2Path .= $b2array[$j].'/';

        }

       $resta2Path='';

        for( $j = $i; $j <= count($a2array)-2; $j++ ) {
$resta2Path .= '../';

        }

       $relativePath=$resta2Path . $restb2Path;

        return $relativePath;

    }

?>

 </body>
</html>

array
0 =>  '' (length=0)
1 =>  'x' (length=1)
2 =>  'y' (length=1)
3 =>  'z' (length=1)
4 =>  'a' (length=1)
5 =>  'b' (length=1)
6 =>  'c' (length=1)
7 =>  'd' (length=1)
8 =>  'e.php' (length=5)

array
0 =>  '' (length=0)
1 =>  'x' (length=1)
2 =>  'y' (length=1)
3 =>  'z' (length=1)
4 =>  'a' (length=1)
5 =>  'b' (length=1)
6 =>  '12' (length=2)
7 =>  '34' (length=2)
8 =>  'c.php' (length=5)

../../12/34/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: