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

$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. hadoop安装问题记录

    start-yarn.sh 启动正常,但是无法访问网页http://localhost:8088/cluster 原因: 可能是ipv6 的问题 解决方法: http://stackoverflow. ...

  2. Tag标签系统设计

    转一篇关于tag的文章:  <Tagging: People-powered Metadata for the Social Web>出版于2008年,中文版译为<标签:标记系统设计 ...

  3. 前端工程师和web工程师的差异

    摘自园内一篇文章关于web工程师的思考,比较认同其中的一些观点 前端工程师知识结构:               精通: xhtml,css,JavaScript       熟悉:一种后端程序语言( ...

  4. 非常全面的Linux知识点总结

    $1 我的Linux需求 Linux博大精深.我只在此讨论一些我对线上Linux机器维护人员的基本需求,比如装机,加硬盘,配网络.只讨论CentOS 6,或者类似的RHEL,当然Ubuntu也可以此类 ...

  5. Jenkins错误“editable email notification aborted due to exception”的问题解决

    如果出现:“editable email notification aborted due to exception”这样的错误,尝试升级一下jenkins,估计是这个导致的. 解决思路: http: ...

  6. 数据库 —— mySQL 的安装

    [转载Link]MySQL-5.6.24免安装版配置方法,有需要的朋友可以参考下. 1. 下载MySQL Community Server 5.6.24 2. 解压MySQL压缩包 将以下载的MySQ ...

  7. swift学习资料初探

    1.  http://code.csdn.net/news/2820075

  8. Java基础知识强化100:jsp和servlet有什么区别

         首先你先要弄懂什么是servlet,servlet是在服务器端执行的java程序,只不过它有专门的一套规则(就是我们平常所说的api):jsp说得简单点就是用另一套简单的规则写的servle ...

  9. Chapter 2. Overview gradle概览

    2.1. Features //gradle特性 Here is a list of some of Gradle's features. Declarative builds and build-b ...

  10. solr error logs org.apache.solr.common.SolrException: ERROR: [doc=17] unknown field alias

    在solr中 添加新的索引词语时,报如标题所示错误,指定是插入的字段没有在solr索引字段里 可以修改 solr安装目录/solr/conf 目录下的 schema.xml 在此xml文件内加入所需字 ...