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分页时出现的Fatal error的解决方法
Apr 18 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 PHP
php 获取本地IP代码
Jun 23 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
php实现读取和写入tab分割的文件
Jun 01 PHP
最新最全PHP生成制作验证码代码详解(推荐)
Jun 12 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
Oct 08 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 PHP
php web环境和命令行环境下查找php.ini的位置
Jul 17 PHP
PHP程序守护进程化实现方法详解
Jul 16 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 冒泡排序算法的实现代码
2010/08/08 PHP
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
js获取div高度的代码
2008/08/09 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
Python导出DBF文件到Excel的方法
2015/07/25 Python
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
python将字母转化为数字实例方法
2019/10/04 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
python如何操作mysql
2020/08/17 Python
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
会话Bean的种类
2013/11/07 面试题
环境科学专业个人求职信
2013/12/15 职场文书
大学生职业生涯规划范文
2013/12/31 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
尊师重教演讲稿
2014/09/04 职场文书
个人借款协议书范本
2014/11/17 职场文书
2014年基建工作总结
2014/12/12 职场文书
期末个人总结范文
2015/02/13 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
最感人的道歉情书
2015/05/12 职场文书
责任书格式
2019/04/18 职场文书