如何将两个路径正确地加在一起呢?如:d:/web/test/abc + ../1.html应该等于: d:/web/test/1.html
-------------------------------------------如:d:/web/test/abc + ../../1.html应该等于: d:/web/1.html
-------------------------------------------如:d:/web/test/abc + 1.html应该等于: d:/web/test/abc/1.html

解决方案 »

  1.   

    你在地址栏输入:d:/web/test/abc + ../
    自动就会跳到d:/web/test/
    不用转换就能用。php里:
    $path="d:/web/test/abc"."/../1.html";就可以找到d:/web/test/1.html
      

  2.   

    什么意思?
    $a='d:/web/test/abc ';
    $b='../1.html ';
    $c='d:/web/test/1.html ';???
      

  3.   


    echo $path="d:/web/test/abc"."/../1.html";
    结果:d:/web/test/abc/../1.html
      

  4.   

    这要看是字符串处理,还是fopen之类的文件操作。如果是字符串处理是不相等的,文件操作的结果是一样的
      

  5.   

    $path1 = 'd:/web/test/abc';
    $path2 = '../../1.html';
    $path = realpath($path1.'/'.$path2);用realpath,文件必须存在,否则是false
      

  6.   

    人家问什么,你就答什么。不要搅乱人家的思路
    function foo($p1, $p2) {
      $a1 = split('/', $p1);
      $a2 = split('/', $p2);  foreach($a2 as $v) {
        if($v == '..') array_pop($a1);
        $t = array_shift($a2);
      }  return join('/', array_merge($a1, array($t)));
    }echo foo('d:/web/test/abc', '../1.html');
    echo '<br>';
    echo foo('d:/web/test/abc', '../../1.html');
    d:/web/test/1.html
    d:/web/1.html