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 sprintf()函数让你的sql操作更安全
Jul 23 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 PHP
ajax实现无刷新分页(php)
Jul 18 PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 PHP
PHP实现数字补零功能的2个函数介绍
May 12 PHP
PHP实现的MongoDB数据库操作类分享
May 12 PHP
浅析PHP文件下载原理
Dec 25 PHP
PHP SPL标准库之接口(Interface)详解
May 11 PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 PHP
php parse_str() 函数的定义和用法
May 23 PHP
phpstudy的php版本自由修改的方法
Oct 18 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 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
Look And Say 序列php实现代码
2011/05/22 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
CCPry JS类库 代码
2009/10/30 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
Python extract及contains方法代码实例
2020/09/11 Python
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
介绍一下linux的文件权限
2014/07/20 面试题
设计毕业生简历中的自我评价
2013/10/01 职场文书
函授生自我鉴定
2014/03/25 职场文书
服务承诺书怎么写
2014/05/24 职场文书
2014年团工作总结
2014/11/27 职场文书
市场部经理岗位职责
2015/02/02 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
工会文体活动总结
2015/05/07 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server