求相对路径的函数,写一个函数,算出两个文件的相对路径如 $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; 计算出 $b 相对于 $a 的相路径。

$a = '/a/b/c/d/e.php';

$b = '/a/b/12/34/c.php';

//求$b相对于$a的相对路径

function getRelativelyPath($a, $b) {

//拆分成数组

$a = explode('/', $a);

$b = explode('/', $b);

$path = '';

//将两个数组的索引重置

$c = array_values(array_diff($a, $b));

$d = array_values(array_diff($b, $a));

//去除掉a路径的文件名

array_pop($c);

//将a路径中的目录名替换为..

foreach ($c as &$v) $v = '..';

//合并两个数组

$e = array_merge($c, $d);

//拼接路径

foreach ($e as &$v) $path .= $v . '/';

return rtrim($path, '/');

}

php编写一个计算相对路径的函数,php求相对路径的函数相关推荐

  1. matlab编写正整数阶乘函数,用matlab语言编写程序:编写一个计算阶乘的函数,再编写一个脚本文件,通过键盘输入计算阶乘的n值....

    点击查看用matlab语言编写程序:编写一个计算阶乘的函数,再编写一个脚本文件,通过键盘输入计算阶乘的n值.具体信息 答:编写一个matlab文件,求1到n的阶乘之和.其代码编写的目的,就是学会自定义 ...

  2. Java黑皮书课后题第10章:***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序。设计一个名为Tax类,该类包含下面的实例数据域

    ***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序.设计一个名为Tax类,该类包含下面的实例数据域 题目 程序解释 代码 Test8.java Test8_Tax.jav ...

  3. Java黑皮书课后题第6章:*6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序。使用下面的方法体编写一个计算税款的方法。使用这个方法编写程序,打印可征税人从50000到60000间隔

    *6.15(金融应用:打印税表)程序清单3-5给出了计算税款的程序.使用下面的方法体编写一个计算税款的方法.使用这个方法编写程序 题目 题目描述 破题 程序清单3-5(非本题):代码不全 补充代码:编 ...

  4. C语言--不使用库函数,利用指针编写一个计算字符串长度的程序

    题目:编写一个函数计算一个字符串的长度,输入输出在主函数中完成 以下两个例程仅供参考: #include <stdio.h> int Strlen(char *str)//不使用库函数,利 ...

  5. matlab 函数句柄求导,Matlab_learning_4( 函数句柄 )

    含数句柄是MATLAB 6之后特有的语言结构; 优点: 方便函数之间互相调用,兼容函数加载: 拓宽子函数包括局部函数的适用范围: 减少程序设计之中的冗余: 提高重复执行的效率: 数组.结构数组.细胞型 ...

  6. Java编写一个计算各种形状的面积和周长的程序

    要求:父类Shape2D为一个抽象类,其中包含计算周长和计算面积两个方法.其他形状圆(Circle),三角形(Triangle)和长方形(Rectangle)均继承自Shape2D类.而Square继 ...

  7. 以面向对象方式编写一个计算电话费的程序

    标准:基本通话费是每分钟4角钱,不足一分钟的部分,按照1分钟计算:长途通话费是每6秒7分钱,不足6秒的部分按照6秒计算.整个长途通话费,由上述两项加起来. public class MobileFee ...

  8. java设计一个顺序表类的成员函数,用java编写一个逐个输出顺序表中所有数据元素的成员函数...

    import java.util.ArrayList; import java.util.List; public class Test { /** * @param args */ public s ...

  9. 本题要求递归实现一个计算X的N次方 (n≥1)的函数。

    函数接口定义: double calc_pow( double x, int n ); 函数calc_pow应返回x的n次幂的值.建议用递归实现.题目保证结果在双精度范围内. 裁判测试程序样例: #i ...

最新文章

  1. 如何为file增加文件类型的识别
  2. 2015 ICPC 上海
  3. 人工智能:第一章 绪 论
  4. 操作系统(二十八)死锁的概念
  5. 【音频技术:逼近人耳极限】
  6. 可变参数模板、右值引用带来的移动语义完美转发、lambda表达式的理解
  7. 上传图片插件鼠标手cursor:pointer;不生效
  8. 【操作系统】—操作系统的四个特征
  9. 第一模块·开发基础-第1章 Python基础语法
  10. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_4_练习_递归打印多级目录...
  11. HyperLynx(七)微带线串扰的仿真
  12. 计算机房无管网消防中七氟丙烷的药剂用量
  13. pdf在线翻译_推荐可以pdf等格式直接在线翻译的免费工具
  14. flask导入mysql数据库_flask 数据库报错
  15. ubuntu卸载程序
  16. 直接数字下变频(2):贝塞尔插值法
  17. 英语口语120句(zt)
  18. 网上书城源代码java_javaweb网上书城源码(包含数据库) 一个web课设——基于JSP的网上书城 - 下载 - 搜珍网...
  19. 网络基础(网络相关命令)
  20. CREATE DATABASE failed

热门文章

  1. 多人聊天、预约会议,FaceTime登录Windows和Android系统
  2. 苹果官网下架 iPhone 8 全系;阿里推出“阿里云会议”;深度操作系统 20 BETA 发布 | 极客头条...
  3. 详解淘宝直播背后的技术!
  4. Julia 向 Python 宣战!
  5. 如何用 Go 快速编写出 HTTP REST API 服务?
  6. 开发运维已死,无运维万岁
  7. 人工智能火爆,入门却太难了!
  8. 山东到底有没有互联网?
  9. 最早的算法可追溯到三千年前,“所谓的 AI 并非源自先进的技术”!
  10. 金山云肖江:5G 驱动智慧人居新发展