php 计算两个文件的相对路径
<?php /** * 计算两个文件的相对路径 */ function relative_path($path1, $path2) { $arr1 = explode('/', dirname($path1)); $arr2 = explode('/', dirname($path2)); for ($i = 0, $len = count($arr2); $i < $len; $i++) { if ($arr1[$i] != $arr2[$i]) { break; } } //不在用一个根目录下面 if ($i == 1) { $return_path = array(); } //在同一个根目录下 if ($i != 1 && $i < $len) { $return_path = array_fill(0, $len - $i, ".."); } #在同一个目录下 if ($i == $len) { $return_path = array("./"); } $return_path = array_merge($return_path, array_slice($arr1, $i)); return implode('/', $return_path); } //测试一下 $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; echo relative_path($a, $b);
如果本文章已帮助到您!