网上看了一些这个题的一些解答方法,不过大多数就是对目前需求而定的,比如

$a = '/a/b/c/d/e.php';
$b = '/a/d/12/34/c.php';
getpath($a , $b );

public function getpath($a, $b)
{
$aarr = explode('/', $a);
$barr = explode('/', $b);
$count = count($barr) - ;
$pathinfo = '';
for($i = ; $i <= $count; $i++){
if($aarr[$i] == $barr[$i]){
$pathinfo .= '../';
}else{
$pathinfo .= $barr[$i] . '/';
}
}
echo $pathinfo;
}

如果改变一下

$a = '/a/b/c/d/e.php';
$b = '/a/b/c/34/c.php';
那么就会有问题出现了,于是自己也写了一个简单的
    function getpath($a,$b)
{
$aarr = explode('/', $a);
$barr = explode('/', $b);
$flag = true;
$count = count($barr) - ;
$pathinfo = '';
for($i = ; $i <= $count; $i++){
if($flag && $aarr[$i] != $barr[$i] ){
$pathinfo .= str_repeat('../', $count-$i+).$aarr[$i].'/';
$flag = false;
}elseif(!$flag){
$pathinfo .= $aarr[$i].'/';
}
}
return empty($pathinfo)? './' : $pathinfo;
} echo getpath($a,$b);

php 求两个文件的相对路径的更多相关文章

  1. PHP两个文件的相对路径

    /** * relativePath 计算两个文件的相对路径 * @param file1 参作为考路径 * @param file2 相对于$file1的路径 */ function relativ ...

  2. php源码之计算两个文件的相对路径

    <?php //计算出两个文件的相对路径即path2相对于$path1的相对路径 // http://www.manongjc.com/article/1342.html function ge ...

  3. 用shell求两个文件的差集

    假设有两个文件a.file和b.file,分别代表集合A和集合B. a.file的内容如下: abcde b.file的内容如下: cdefg 可以用grep命令 grep命令是常用来搜索文本内容的, ...

  4. Shell 命令行求两个文件每行对比的相同内容

    Shell 命令行求两个文件每行对比的相同内容 遇到的一个实际问题是,2017年08月01日起,所有未经实名的域名,全部停止解析.而我手上有不少域名,其中很多都是没有实名的.但我不知道哪些实名了,哪些 ...

  5. php 计算两个文件的相对路径

    <?php /** * 计算两个文件的相对路径 */ function relative_path($path1, $path2) { $arr1 = explode('/', dirname( ...

  6. LINUX Shell 下求两个文件交集和差集的办法

    http://blog.csdn.net/autofei/article/details/6579320 假设两个文件FILE1和FILE2用集合A和B表示,FILE1内容如下: a b c e d ...

  7. Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

    这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException ...

  8. php 两个文件之间的相对路径的计算方法

    php 两个文件之间的相对路径的计算方法 比如: 文件A 的路径是 /home/web/lib/img/cache.php 文件B的路径是 /home/web/api/img/show.php 那么. ...

  9. Linux 两个文件求交集、并集、差集

    一.交集 sort a.txt b.txt | uniq -d 二.并集 sort a.txt b.txt | uniq 三.差集 a.txt-b.txt: sort a.txt b.txt b.tx ...

随机推荐

  1. 不通用版(从SVN取版本,通过MAVEN生成JAVA包,通过SALTSTACK传送到远程服务器并自动重启TOMCAT服务)PYTHON代码

    从昨晚写到今天啊, 第一版测试成功了. PHP和JAVA的更新相对来说,PHP的自动化更新是简单多啦~~ 当然,这只是运维工作当中的一环~~ #!/usr/bin/env python # -*- c ...

  2. CentOS 启动提示unexpected inconsistency;RUN fsck MANUALLY

    CentOS这两天服务器出了问题了,提示如下: unexpected inconsistency;RUN fsck MANUALLY An error occurred during the file ...

  3. Macro Substitution

    看<C程序设计语言>(英文版)学到的两个用法. 两个很简单的宏用法. #的用法: if, however, a parameter name is preceded by a # in t ...

  4. oracle事务和锁

    数据库事务概括 1. 说明 一组SQL,一个逻辑工作单位,执行时整体修改或者整体回退. 2.事务相关概念 1)事务的提交和回滚:COMMIT/ROLLBACK 2)事务的开始和结束 开始事务:连接到数 ...

  5. sql server 主从数据库同步 利用发布 订阅是实现

    发布订阅功能自SQL 2005之后就有了 配置方法可参考:http://blog.csdn.net/wanmdb/article/details/7515277 遇到问题: 1. 如果代理无法启动 , ...

  6. HDU5409---CRB and Graph 2015多校 双联通分量缩点

    题意:一个联通的无向图, 对于每一条边, 若删除该边后存在两点不可达,则输出这两个点, 如果存在多个则输出第一个点尽可能大,第二个点尽可能小的. 不存在输出0 0 首先 若删除某一条边后存在多个联通分 ...

  7. SRM468 - SRM469(1-250pt, 500pt)

    SRM 468 DIV1 250pt 题意:给出字典,按照一定要求进行查找. 解法:模拟题,暴力即可. tag:water score: 0.... 这是第一次AC的代码: /* * Author: ...

  8. motan源码分析四:客户端调用服务

    在第一章中,我们分析了服务的发布与注册,本章中将简单的分析一下客户端调用服务的代码及流程,本文将以spring加载的方式进行分析. 1.在DemoRpcClient类的main()方法中加载类: Ap ...

  9. Apache Tomcat8必备知识

    Apache Tomcat8必备知识 作者:chszs,转载需注明.博客主页: http://blog.csdn.net/chszs 一.Apache Tomcat 8介绍 Apache Tomcat ...

  10. [转] java Class类

    Class类(在java.lang包中,Instances of the class Classrepresent classes and interfaces in a running Javaap ...