首页 > 代码库 > php获取两个文件的相对路径
php获取两个文件的相对路径
例如:文件A 的路径是 /home/web/lib/img/cache.php
文件B的路径是 /home/web/api/img/temp/show.php
那么,文件A相对于文件B的路径是 ../../lib/img/cache.php
function getRelativePath($urla,$urlb){ /*******第一步:获取两个文件的相同路径并去掉*****/ //获取路径名 $a_dirname=dirname($urla); //$a_dirname=/home/web/lib/img/ $b_dirname=dirname($urlb); //$b_dirname=/home/web/api/img/temp //去掉左边的"/" $a_dirname=trim($urla,"/"); $b_dirname=trim($urlb,"/"); // $a_dirname=trim($a_dirname,"/"); // $b_dirname=trim($b_dirname,"/"); echo $a_dirname,",",$b_dirname."<br>"; //分割路径名 $a_arr=explode("/", $a_dirname); $b_arr=explode("/", $b_dirname); $count=0; //获取相同路径部分的个数 $num=min(count($a_arr),count($b_arr)); //去除相同的部分 for ($i=0;$i<$num;$i++) { if ($a_arr[$i]==$b_arr[$i]){ unset($a_arr[$i]); $count++; } else{ break; } } // print_r($a_arr); /******将相同部分用"../代替"并重新组合成相对路径******/ $relativepath=str_repeat("../", $count).implode("/", $a_arr); echo $relativepath; } $urla="/home/web/lib/img/cache.php"; $urlb="/home/web/api/img/temp/show.php"; getRelativePath($urla,$urlb)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。