时间:2021-05-26
本文实例讲述了php计算两个文件相对路径的方法。分享给大家供大家参考。具体如下:
一、问题:
写一个php函数算出两个文件的相对路径。例如$a="/a/b/c/d/e.php"; $b="/a/b/12/34/c.php",B相对于A的相对路径是什么?
二、解决方法:
<?php/** * 求$b相对于$a的相对路径 * @param string $a * @param string $b * @return string */function getRelativePath ($a, $b){ $patha = explode('/', $a); $pathb = explode('/', $b); $counta = count($patha) - 1; $countb = count($pathb) - 1; $path = "../"; if ($countb > $counta) { while ($countb > $counta) { $path .= "../"; $countb --; } } // 寻找第一个公共结点 for ($i = $countb - 1; $i >= 0;) { if ($patha[$i] != $pathb[$i]) { $path .= "../"; $i --; } else {//判断是否为真正的第一个公共结点,防止出现子目录重名情况 for ($j = $i - 1, $flag = 1; $j >= 0; $j --) { if ($patha[$j] == $pathb[$j]) { continue; } else { $flag = 0; break; } } if ($flag) break; else $i ++; } } for ($i += 1; $i <= $counta; $i ++) { $path .= $patha[$i] . "/"; } return $path;}$a = "/a/c/d/e.php";$b = "/a/c.php";$path = getRelativePath($a, $b);echo $path;希望本文所述对大家的php程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
求两个目录的相对路径,不限制路径深度复制代码代码如下:/***输出$b相对于$a的相对路径($a)*不限限制路径深度,没有做什么优化,只是实现功能*/funct
问题描述:要在/jsp/index.jsp文件使用图片,如何计算相对路径?经过Servlet,struts转发后又如何计算相对路径?目录结构:应用名字:Demo
本文实例讲述了PHP获取文件相对路径的方法。分享给大家供大家参考。具体实现方法如下:
DLL加载,设置相对路径的方法如下所示:1、加载dll方法之一:(./代表当前目录,../代表上层目录)包含头文件的相对路径(当前路径为源代码路径,路径“../
php算法之实现相对路径的实例算出相对路径(相同的目录可以忽略用../或者./表示)实现代码:classRelatively{privatefunction__