当前位置: 首页 > 后端技术 > PHP

PHP计算两个文件的相对路径

时间:2023-03-29 14:37:39 PHP

最近看到一道php面试题,就是在已知两个文件的绝对路径的情况下,求文件1相对于文件2的相对路径。这个问题看似很简单,其实很简单,但是解决了半天,把我弄傻了!我把我的方法写下来供大家参考。如果有不同的意见或疑问,请给我留言:/***[myRelativePath计算文件2相对于文件1的相对路径]*@param[string]$file1[文件1的绝对路径]*@param[string]$file2[文件2的绝对路径]*@return[string][文件2相对于文件1的相对路径]*/functiongetRelativePath($file1,$file2){//拆分两者文件路径分开$file1_arr=explode('/',$file1);$file2_arr=explode('/',$file2);//计算file1与file2不同的部分(计算差异集)$arr1=array_diff_assoc($file1_arr,$file2_arr);$arr2=array_diff_assoc($file2_arr,$file1_arr);$arr1_cnt=count($arr1);$str_path='';对于($i=0;$i<$arr1_cnt-1;$i++){$str_path.='../';}$path2=implode('/',$arr2);返回$str_path。$path2;}思路还是很简单的,就是找到Extract相同的部分,然后计算出文件1到相同路径的相对路径,然后在文件2的相同路径之后拼接路径。这篇文章发表在我的博客地址:codeoff