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中获取指定IP的物理地址的代码(正则表达式)
Jun 23 PHP
PHP对象转换为数组函数(递归方法)
Feb 04 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
使用php计算排列组合的方法
Nov 13 PHP
dedecms中使用php语句指南
Nov 13 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
Oct 28 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
php支付宝系列之电脑网站支付
May 30 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 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
建站常用13种PHP开源CMS比较
2009/08/23 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
21个JavaScript事件(Events)属性汇总
2014/12/02 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
浅析javascript的return语句
2015/12/15 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
2017/01/06 Javascript
babel基本使用详解
2017/02/17 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
vue生命周期实例小结
2018/08/15 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
Python获取文件ssdeep值的方法
2014/10/05 Python
Python多线程下载文件的方法
2015/07/10 Python
代码分析Python地图坐标转换
2018/02/08 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
Python中.join()和os.path.join()两个函数的用法详解
2018/06/11 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
使用Python进行中文繁简转换的实现代码
2019/10/18 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
法学专业毕业生求职信
2014/06/12 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
慰问信格式
2015/02/14 职场文书
环保建议书作文300字
2015/09/14 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书