relativePath.php
2016-04-05 23:30
513 查看
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> relativePath.php </title>
<meta charset="UTF-8">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<?php
/** by www.phpddt.com */
$a = '/x/y/z/a/b/c/d/e.php';
$b = '/x/y/z/a/b/12/34/c.php';
echo getRelativePath($a, $b); //"../../12/34/"
function getRelativePath($a,$b){
$a2array = explode('/', $a);
var_dump($a2array);
$b2array = explode('/', $b);
var_dump($b2array);
$relativePath = '';
for( $i = 1; $i <= count($b2array)-2; $i++ ) {
if($a2array[$i] != $b2array[$i])
{
break;
}
//$relativePath .= $a2array[$i] == $b2array[$i] ? '../' : $b2array[$i].'/';
}
$restb2Path='';
for( $j = $i; $j <= count($b2array)-2; $j++ ) {
$restb2Path .= $b2array[$j].'/';
}
$resta2Path='';
for( $j = $i; $j <= count($a2array)-2; $j++ ) {
$resta2Path .= '../';
}
$relativePath=$resta2Path . $restb2Path;
return $relativePath;
}
?>
</body>
</html>
../../12/34/
<html>
<head>
<title> relativePath.php </title>
<meta charset="UTF-8">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<?php
/** by www.phpddt.com */
$a = '/x/y/z/a/b/c/d/e.php';
$b = '/x/y/z/a/b/12/34/c.php';
echo getRelativePath($a, $b); //"../../12/34/"
function getRelativePath($a,$b){
$a2array = explode('/', $a);
var_dump($a2array);
$b2array = explode('/', $b);
var_dump($b2array);
$relativePath = '';
for( $i = 1; $i <= count($b2array)-2; $i++ ) {
if($a2array[$i] != $b2array[$i])
{
break;
}
//$relativePath .= $a2array[$i] == $b2array[$i] ? '../' : $b2array[$i].'/';
}
$restb2Path='';
for( $j = $i; $j <= count($b2array)-2; $j++ ) {
$restb2Path .= $b2array[$j].'/';
}
$resta2Path='';
for( $j = $i; $j <= count($a2array)-2; $j++ ) {
$resta2Path .= '../';
}
$relativePath=$resta2Path . $restb2Path;
return $relativePath;
}
?>
</body>
</html>
array 0 => '' (length=0) 1 => 'x' (length=1) 2 => 'y' (length=1) 3 => 'z' (length=1) 4 => 'a' (length=1) 5 => 'b' (length=1) 6 => 'c' (length=1) 7 => 'd' (length=1) 8 => 'e.php' (length=5)
array 0 => '' (length=0) 1 => 'x' (length=1) 2 => 'y' (length=1) 3 => 'z' (length=1) 4 => 'a' (length=1) 5 => 'b' (length=1) 6 => '12' (length=2) 7 => '34' (length=2) 8 => 'c.php' (length=5)
../../12/34/
相关文章推荐
- vagrant系列一:vagrant的安装与初识
- php中PCRE正则表达式分隔符的使用
- PHP中array_multisort与asort,arsort的用法
- yii2安装时报错 Call to undefined method Fxp
- class_compare.php
- phpmyadmin的root密码忘记了怎么办?
- php调用js变量
- PHPcms首页幻灯片调用代码
- JS调用PHP 和 PHP调用JS的方法举例
- ThinkPHP的静态化页面方法
- 《PHP核心技术与最佳实践》读书笔记(异常和错误处理篇)
- php提高效率
- PHP解决Xss跨域攻击以及sql注入等危险字符串方案类库
- 网易编程笔试 基于快排思想的快速查找法 php
- WordPress Import 上传的文件尺寸超过php.ini中定义的upload_max_filesize值-->解决方法。
- Windows API GetProcAddress 及demo code
- PHP Closure类详解
- Cacti(php脚本)
- php生成mysql数据字典
- FragmentPagerAdapter与FragmentStatePagerAdapter区别