Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1525057
  • 博文数量: 164
  • 博客积分: 2993
  • 博客等级: 少校
  • 技术积分: 1718
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-24 11:42
文章分类

全部博文(164)

文章存档

2014年(1)

2013年(36)

2012年(90)

2011年(37)

分类: Python/Ruby

2012-07-23 11:33:56


  1. <?php
  2. //用php求两个文件的相对路径

  3. function compara_path($path_a, $path_b) {
  4.     //切割路径.

  5.     $array_a = explode ( '/', $path_a );
  6.     $array_b = explode ( '/', $path_b );
  7.     //从数组中删除最后的文件,剩下的全为文件夹名称.

  8.     $file_a = array_pop ( $array_a ); //array_pop() 弹出并返回 array 数组的最后一个单元

  9.     $file_b = array_pop ( $array_b );
  10.     //子目录个数.

  11.     $a_len = count ( $array_a );
  12.     $b_len = count ( $array_b );
  13.     //循环求出第几个目录不同.

  14.     for($i = 0; $i < $a_len; $i ++) {
  15.         if ($array_a [$i] != $array_b [$i]) {
  16.             break;
  17.         }
  18.     }
  19.     //求出相对路径.

  20.     $com_path = "";
  21.     for($j = 0; $j < $a_len - $i; $j ++) {
  22.         $com_path .= '../';
  23.     }
  24.     for($i; $i < $b_len; $i ++) {
  25.         $com_path .= $array_b [$i] . '/';
  26.     }
  27.     $com_path .= $file_b;
  28.     return $com_path;
  29. }
  30. $path_a = "a/b/e/f.php";
  31. $path_b = "a/b/z/x/y.php";
  32. echo compara_path ( $path_a, $path_b );

  33. ?>

阅读(1047) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~