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 相关文章推荐
PHP与SQL注入攻击[二]
Apr 17 PHP
简单的php缓存类分享     php缓存机制
Jan 22 PHP
PHP内核探索:变量概述
Jan 30 PHP
php中用memcached实现页面防刷新功能
Aug 19 PHP
Drupal简体中文语言包安装教程
Sep 27 PHP
PHPUnit安装及使用示例
Oct 29 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
php导出csv文件,可导出前导0实例代码
Nov 16 PHP
微信 getAccessToken方法详解及实例
Nov 23 PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 PHP
PHP实现简易计算器功能
Aug 28 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 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
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
splice slice区别
2006/10/09 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
django使用html模板减少代码代码解析
2017/12/12 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python发展史及网络爬虫
2019/06/19 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
基于opencv实现简单画板功能
2020/08/02 Python
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
硕士生找工作求职信
2014/07/05 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
平安家庭事迹材料
2014/12/20 职场文书
大学团日活动总结书
2015/05/11 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python