温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php获取两个文件的相对路径

发布时间:2020-07-11 21:18:20 来源:网络 阅读:577 作者:风行韩国 栏目:web开发

例如:文件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)


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI