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

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

PHP中文网
Lepaskan: 2016-05-25 17:10:36
asal
1059 orang telah melayarinya


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

<?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));

Salin selepas log masuk

                   

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan