php 获取相对路径实例代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-17 20:49:42 浏览: 评论:0
- function getRelativePath($a, $b) {
- $returnPath = array(dirname($b));
- $arrA = explode('/', $a);
- $arrB = explode('/', $returnPath[0]);
- for ($n = 1, $len = count($arrB); $n < $len; $n++) {
- if ($arrA[$n] != $arrB[$n]) {
- break;
- }
- }
- if ($len - $n > 0) {
- $returnPath = array_merge($returnPath, array_fill(1, $len - $n, '..'));
- }
- $returnPath = array_merge($returnPath, array_slice($arrA, $n));
- return implode('/', $returnPath);
- }
- var_dump(getRelativePath($a, $b));
- //方法二
- $a = "/a/b/c/d/index.php";
- //echo basename($a,'.php');// 返回路径中文件名部分
- //echo dirname($a);
- $b = "/a/b/12/34/index2.php";
- function getRelativePath($path1,$path2){
- $p1 = dirname($path1);
- $p2 = dirname($path2);
- $arr1 = explode('/',$p1);
- $arr2 = explode('/',$p2);
- $diff_arr= array_diff($arr2,$arr1); //计算差集 注意这里 是谁相对谁的
- $inter_arr = array_intersect($arr1,$arr2);//计算交集
- $leng = count($inter_arr); //长度是以交集的为准 即求..部分
- for($i=1;$i<$leng;$i++){
- $inter_arr[$i] = '..';
- }
- $merge_arr = array_merge($inter_arr,$diff_arr);
- $fina_arr = implode('/',$merge_arr);
- return $fina_arr;//开源代码phpfensi.com
- }
- var_dump(getRelativePath($a,$b));
- //返回 string '/../../12/34' (length=12)
- //如果改成$diff_arr= array_diff($arr1,$arr2); 就返回string '/../../c/d (length=12)
Tags: php 获取相对路径 实例代码
相关文章
- ·PHP校验ISBN码的函数(2013-11-11)
- ·PHP不缓存数据头(2013-11-11)
- ·PHP采集程序中常用的函数(2013-11-11)
- ·PHP多重判断删除文件函数(2013-11-11)
- ·php中文汉字截取函数(2013-11-12)
- ·如何用php创建与删除多级目录函数(2013-11-14)
- ·什么函数能够把文件从一个目录下转移到另外一个目录下?(2013-11-27)
- ·php_admin_value(php_admin_flag)和php_value(php_flag)(2013-11-27)
- ·使用PHP重新实现PHP脚本引擎内置函数(2013-11-27)
- ·计算一个程序的执行时间的函数(2013-11-27)
- ·php curl_init函数用法(2013-11-28)
- ·php md5 与md5_file区别详细说明(2013-11-28)
- ·php session_cache_limiter session_cache_expire等函数(2013-11-29)
- ·php var_dump简单测试(2013-11-29)
- ·php file_exists无效解决办法(2013-11-29)
- ·强大的php检查文件类型(2013-11-30)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)