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 分页函数multi() discuz
Jun 21 PHP
MayFish PHP的MVC架构的开发框架
Aug 13 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
PHP函数eval()介绍和使用示例
Aug 20 PHP
Javascript与PHP验证用户输入URL地址是否正确
Oct 09 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
php返回字符串中所有单词的方法
Mar 09 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
PHP中in_array函数使用的问题与解决办法
Sep 11 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 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
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
yii操作cookie实例简介
2014/07/09 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
关于axios返回空对象的问题解决
2017/04/04 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
Python常用列表数据结构小结
2014/08/06 Python
浅析使用Python操作文件
2017/07/31 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
详解python 降级到3.6终极解决方案
2020/02/06 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
Html5 localStorage入门教程
2018/04/26 HTML / CSS
美国网上订购鲜花:FTD
2016/09/23 全球购物
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
中科创达面试题
2016/12/28 面试题
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
初中三好学生事迹材料
2014/01/13 职场文书
家长对孩子评语
2014/01/30 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
高三教师工作总结2015
2015/07/21 职场文书
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
2021/06/05 Python
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript