使用PHP计算两个路径的相对路径

greenduck 发布于2年前
0 条问题
<html> 
     <body> 
         <?php 
             function relativePath($aPath, $bPath) { 
                 $aArr = explode('/', $aPath);    //explode函数用于切分字符串,返回切分后的数组,此处用'/'切分字符串 
                 $bArr = explode('/', $bPath); 
                 $aDiffToB = array_diff_assoc($aArr, $bArr);    //array_diff_assoc()用于获取A数组与B数组之间元素的差集,Key和Value都不相同视为不同元素,此处返回在A数组中且与B数组不相同的元素 
                 $count = count($aDiffToB); 
 
                 $path = ''; 
                 for($i = 0; $i < $count - 1; $i++){ 
                     $path .= '../'; 
                 } 
 
                 $path .= implode('/', $aDiffToB);    //implode()用于使用指定字符串连接数组元素,此处返回用'/'连接数组元素后的字符串 
 
                 return $path; 
             } 
 
             echo relativePath('/a/b/c/d/a.php', '/a/b/1/2/b.php'); 
         ?> 
     </body> 
 </html> 

页面输出
. ./. ./c/d/a.php
需要 登录 后回复方可回复, 如果你还没有账号你可以 注册 一个帐号。