php求两个目录的相对路径示例

 这篇文章主要介绍了php求两个目录的相对路径示例(php获取相对路径),需要的朋友可以参考下

求两个目录的相对路径,不限制路径深度
 
 代码如下:
/**
 * 输出$b相对于$a的相对路径($a)
 * 不限限制路径深度,没有做什么优化,只是实现功能
 */
function getPath($a, $b)
{
 $aArr = explode('/', dirname($a));
 $bArr = explode('/', dirname($b));
 
 $aLen = count($aArr);
 $bLen = count($bArr);
 
 $len = max($aLen, $bLen);
 
 $k = 0;
 
 for($i = 0; $i < $len; $i++)
 {
 if($k == 0)
 {
 if(isset($aArr[$i]) && ($aArr[$i] != $bArr[$i]))
 {
 $d .= '../';
 
 if(isset($bArr[$i]))
 {
 $nP[$i] = $bArr[$i];
 }
 
 $k = $k + 1;
 }
 }
 else
 {
 if(isset($aArr[$i]))
 {
 $d .= '../';
 }
 if(isset($bArr[$i]))
 {
 $nP[$i] = $bArr[$i];
 }
 }
 }
 
 echo $d.implode('/', $nP);
}
 

时间: 2024-08-01 14:55:49

php求两个目录的相对路径示例的相关文章

php求两个目录的相对路径示例(php获取相对路径)_php实例

求两个目录的相对路径,不限制路径深度 复制代码 代码如下: /** * 输出$b相对于$a的相对路径($a) * 不限限制路径深度,没有做什么优化,只是实现功能 */function getPath($a, $b){ $aArr = explode('/', dirname($a)); $bArr = explode('/', dirname($b));  $aLen = count($aArr); $bLen = count($bArr);  $len = max($aLen, $bLen);

tomcat-不知道为什么访问不到图片,求帮忙。目录跟访问路径如下图

问题描述 不知道为什么访问不到图片,求帮忙.目录跟访问路径如下图 解决方案 URL地址后的中文会自动转码为URL编码,你可以把图片换成英文图片名 ,例如 :安踏.jsp AnTa.jsp就可以了 解决方案二: 中文问题,你把url用utf8编码一下吧 解决方案三: 楼主 url编码问题 你可以尝试换成英文的 或者对url进行编码 解决方案四: 对url进行编码,URL地址后的中文会自动转码为URL编码,你可以把图片换成英文图片名 解决方案五: 图片用英文命名,或者把URL转码成UTF-8 解决方

使用PHP求两个文件的相对路径_php技巧

复制代码 代码如下: function compare($ph1,$ph2){    $ret = '';    $_f1Arr = explode("/",$ph1);    $_f2Arr = explode("/",$ph2);     $f1 = array_pop($_f1Arr);    $f2 = array_pop($_f2Arr);    for($i=0;$i<count($_f1Arr);$i++){        if($_f1Arr[

编写ASP.net,我想单击一个按钮就弹出一个目录树,选择一个目录后,将该目录的完全路径显示在一个编辑框中,请问怎样做?

问题描述 编写ASP.net,我想单击一个按钮就弹出一个目录树,选择一个目录后,将该目录的完全路径显示在一个编辑框中,请问怎样做?目录树即为本机的目录急求解答! 解决方案 解决方案二:这个不能得到客户端主机目录但是服务器的主机目录可以同一个页面放入buttontreeviewtextbox控件page_load中设置treeview的visible=false并且绑定目录treeview的selectednodechanged事件下:treeview的visible=truetextbox.te

测试-汇编求两个任意位数的十进制数字的差,并输出。结果总是输出10进制的补码是什么情况

问题描述 汇编求两个任意位数的十进制数字的差,并输出.结果总是输出10进制的补码是什么情况 data segment buff1 db 20 ;存放最大字符个数 n1 db ? ;实际存放字符个数 content1 db 20 dup(0) ;存放输入字符 buff2 db 20 ;buf=buffer缓冲区,content目录 n2 db ? content2 db 20 dup(0) buff4 db 21 dup(0) ;buff3用于存放结果 data ends code segment

如何求两个数组的交集

题目意思大概是这样的:给定两个大数组(1w以上1亿以下),用最有效的方法找出来两个数组的交集. 对于这道题,我有一个思路就是,先对数组进行排序,然后用两个指针在已排序的数组上轮流指向头结点,进行比较. 比较亮的地方,就是在于这个比较的方式了. 首先,比较的时候,要先确定两个指针指向的内用是否一致.如果一致,那么这个点,就是交集的一个元素,没问题吧? 这里有一个问题就是,接下来如何比较? 步骤是这样的:先比较两个指针指向内容的大小,指向结果小的指针,开始递增,直到较小的指针指向的值大于或等于另一个

LOG4J输出日志到web目录的相对路径

 LOG4J输出日志到web目录的相对路径 项目中必须是在使用spring web.xml加入 <span style="font-size:18px;"><context-param> <param-name>webAppRootKey</param-name> <param-value>webApp.root</param-value> </context-param> <context-

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

  新浪有个面试题目:写一个php函数算出两个文件的相对路径 ?php //计算出 c.php相对于e.php的相对路径应该是../../12/34 $a = /a/b/c/d/e.php; $b = /a/b/12/34/c.php; getpathinfo($a, $b); function getpathinfo( $a, $b ) { $a 新浪有个面试题目:写一个php函数算出两个文件的相对路径 //计算出 c.php相对于e.php的相对路径应该是../../12/34 $a = '

最古老的算法:辗转相除法(求两个自然数最大公约数)

在数学界,辗转相除法,又称欧几里得算法,被认为是世界上最早的算法(公元前300年),该算法用于求两个最大公约数的算法.辗转相除法首次出现于欧几里得的<几何原本>(第VII卷,命题yⅠ和Ⅱ)中,而在中国则可以追溯至东汉出现的<九章算术>. 两个自然数的最大公约数是能够同时整除它们的最大的正整数.辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约 数.例如,1254和390的最大公约数是6(1254 = 6 × 209:390 = 6 × 65):用