php 算法之实现相对路径的实例


Posted in PHP onOctober 17, 2017

php 算法之实现相对路径的实例

算出相对路径(相同的目录可以忽略用../ 或者 ./ 表示)

实现代码:

class Relatively{ 
  private function __construct(){ 
     
  } 
  /** 
   * 算出相对路径(相同的目录可以忽略用../ 或者 ./ 表示) 
   * @param Strint $path1 
   * @param Strint $path2 
   * @return string 
   */ 
  public static function relaroot($path1,$path2){ 
    $rearray=array(); 
    $arr1=explode('/', dirname($path1)); 
    $arr2=explode('/', dirname($path2)); 
    for($i=0,$len=count($arr2)-1;$i<$len;$i++){ 
      if($arr1[$i]!=$arr2[$i]){ 
        break; 
      } 
      if($i==1){ 
        $rearray=array(); 
      } 
      if($i!=1 && $i<$len){ 
        $rearray=array_fill(0,$len-$i,'..'); 
      } 
      if($i==$len){ 
        $rearray=array('./'); 
      } 
    } 
    $reroot=array_merge($rearray,array_slice($arr2, $i)); 
    return implode('/', $reroot); 
  } 
} 
$path1="a/b/c/d/index.php"; 
$path2="/a/b/12/34/index1.php"; 
$a=Relatively::relaroot($path1, $path2); 
echo $a;

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
一个捕获函数输出的函数
Feb 14 PHP
php中怎么搜索相关联数组键值及获取之
Oct 17 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
Jun 30 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 PHP
PHP实现简易blog的制作
Oct 24 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 PHP
php 二维数组快速排序算法的实现代码
Oct 17 #PHP
php 数据结构之链表队列
Oct 17 #PHP
PHP实现的贪婪算法实例
Oct 17 #PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 #PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 #PHP
基于PHP-FPM进程池探秘
Oct 17 #PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 #PHP
You might like
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
php设计模式小结
2013/02/15 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
Bootstrap表单简单实现代码
2017/03/06 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
总结js函数相关知识点
2018/02/27 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
详解vue开发中调用微信jssdk的问题
2019/04/16 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
一步步教你用Python实现2048小游戏
2017/01/19 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
Python 实现训练集、测试集随机划分
2020/01/08 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
保护环境标语
2014/06/09 职场文书
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android
mysql sock 文件解析及作用讲解
2022/07/15 MySQL