Rumah > pembangunan bahagian belakang > tutorial php > php代码实现 两个目录之间的相对路径

php代码实现 两个目录之间的相对路径

WBOY
Lepaskan: 2016-06-23 13:36:17
asal
858 orang telah melayarinya

/** * 获取两个路径之间的相对路径 * @param $path1  路径1 * @param $path2  路径2 * @return 返回相对路径或者false(在同一个目录下) */function relativePath($path1, $path2){    // 将各自的路径(不包含文件)存放到array数组中    $arr1 = explode('/', dirname($path1));    $arr2 = explode('/', dirname($path2));    // 遍历数组    $len = count($arr2);    for ($i = 0; $i < $len; $i++) {        if ($arr1[$i] != $arr2[$i]) {            break;        }    }    if ($i < $len) {        // 不是相同的目录,返回相对路径        $return = array_fill(0, $len - $i, ".."); // 用'..'去填充相同的$len-$i个路径        $relativePath = array_merge($return, array_slice($arr1, $i));  // 取出$i开始的不同的路径        return implode('/', $relativePath);  // 数组变成字符串返回    } else {        // 相同的目录,直接返回false        return false;    }}dirname():去掉路径中的文件,只留目录array_fill():array_merge():array_slice():
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan