`

php中获取文件file_a相对于文件file_b的目录

    博客分类:
  • PHP
 
阅读更多

 

 

/**
 * @desc 获取文件file_a相对于文件file_b的目录
 * 
 * @author Jihayang
 * @return string
 */
function getFileRelativePath($file_a, $file_b){
    #$file_a^$file_b 按位或运算(数学中称异或),将字符串转为16进制,相同为0,否则为1,
    #查找$file_a^$file_b里连续等于\x00直到不等于\x00后结束,并返回当前的位置,
    $pos = strspn($file_a^$file_b,"\x00");
    #输出多少个上级相同目录../
    $r_path = str_repeat('../', substr_count($file_a,'/',$pos));
    #输出相对路径
    $r_path .= substr($file_b,strrpos(substr($file_b,0,$pos), '/')+1);
    $r_path = dirname($r_path);
    return  $r_path;
}

$file_a='/a/66/bcdd/44/app/index.php';
$file_b='/a/66/bcdf/goods.php';

echo getFileRelativePath($file_a, $file_b);

 

分享到:
评论

相关推荐

    大名鼎鼎SWFUpload- Flash+JS 上传

     file_upload_limit : 10, 限定用户一次性最多上传多少个文件,在上传过程中,该数字会累加,如果设置为“0”,则表示没有限制  file_queue_limit : 2, 上传队列数量限制,该项通常不需设置,会根据file_upload_...

    php中inlcude()性能对比详解

    这种方式我们可能需要输入更多一些,但相对于前面那种需要PHP引擎去include_path 中迭代查找所有名称为’include.php’才能查找到相应对象来说,dirname(__FILE__)这种绝对路径的指定会让系统迅速定位到相应文件。...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    $a xor $b :异或 (当$a或$b为true时为true,两者一样时为false) ! $a :非 比较运算符有: $a == $b :相等 $a != $b :不等 $a $b :小于 $a $b :小于等于 $a > $b :大于 $a >= $b :大于等于 与C一样PHP也有...

    PHP文件读写操作之文件读取方法详解

    PHP文件读取操作相对于文件写入操作涉及更多的PHP文件操作函数,在代码实例中会详细介绍这些函数。 读取文本文件中存储数据的方式主要涉及的三个步骤及部分文件操作函数如下: 1、打开文件(文件操作函数:fopen) 2、...

    PHP文件读取功能的应用实例

    PHP文件读取操作相对于文件写入操作涉及更多的PHP文件操作函数,在代码实例中会详细介绍这些函数。 读取文本文件中存储数据的方式主要涉及的三个步骤及部分文件操作函数如下: 1、打开文件(文件操作函数:fopen) 2、...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    在Qt Creator 的安装目录的qt 文件下的bin 文件夹下(我安装在了D 盘, 所以路径是D:\Qt\2009.04\qt\bin),可以找到所有的相关.dll 文件。在这里 找到mingwm10.dll 文件,将其复制到C:\WINDOWS\system 文件夹下,...

    Core:Terrasphere附加组件的核心功能。 包含数据库结构等

    Terrasphere核心 Terrasphere附加组件的核心功能。 包含数据库结构等 Luma关于如何做XF东西的... 使用以下模板在模板中引用它: {{base_url('styles / default /(addon_id)/(file_name_with_extension)',true)}}

    非常实用的上传类,上传效果在线演示:(三种上传效果jqupload,swfupload,)

    //访问路径,相对于域名 define('ADLEYLIU_CHARSET', 'gbk'); //数据库字符集 可选 'gbk', 'big5', 'utf-8' define('ADLEYLIU_ROOT',dirname(__FILE__)); 程序绝对目录 define('ADLEYLIU_UPLOADPATH', 'upload_...

    file-vault:Laravel软件包,用于加密和解密任何大小的文件

    Laravel中的文件加密/解密 使用此软件包,您可以加密和解密... 您必须传递到程序包加密/解密功能中的所有文件名/路径都是相对于磁盘根文件夹而言的。 默认情况下,使用local磁盘,但是您可以在每次调用FileVault方

    PHP连接MSSQL2005的扩展插件.

    最近帮朋友改一个小东西的时候才发现的,微软专门为PHP出了个SQL Server的扩展(当然是Windows版本的),用了一下发现还是很好用的,对于Windows下使用php开发SQL Server应用来说,这个扩展有利于兼容性以及充分利用...

    一个读取速度超快的filestream-TFastFileStream

    最近一直为自己制作的相册软件(http://www.tonixsoft.com/ultraalbum/index.php?lang=chs)打开大文件时速度慢而郁闷,...,以及文件内存镜像,可以参考这篇文章:http://www.vccode.com/file_show.php?id=2409 ......

    Excel百宝箱8.0

    【图片查询工具】【将选区保存为图片】【生成个性化批注】 【插入GIF动画】【插入Flash动画】【禁止录入重复值】【相同项与不同项】【建文件目录】【提取选区重复值】【清除列中重复值】【标示重复值】【删除空白...

    实用上传类,上传效果演示

    //访问路径,相对于域名 define('ADLEYLIU_CHARSET', 'gbk'); //数据库字符集 可选 'gbk', 'big5', 'utf-8' define('ADLEYLIU_ROOT',dirname(__FILE__)); 程序绝对目录 define('ADLEYLIU_UPLOADPATH', 'upload_...

    php unlink()函数使用教程

    问题 : unlink函数只能删除 相对于函数执行文件的相对目录 或 磁盘的绝对目录.  两个目录都不方便, 因为我存的图片目录是网站根目录的相对路径. 解决办法:  在入口文件定义网站磁盘目录的常量 , 在删除的时候...

    PHP守护进程实例

    相对于shell来说会简单很多,理解更方便,当然了php的守护进程要实现自动重启还是要依赖于shell的crontab日程表,每隔一段时间去执行一次脚本看脚本是否需要重启,如果需要则杀掉进程删除RunFile文件,重新启动并在...

    .htaccess

    .htaccess isn't difficult to use and is really just made up of a few simple instructions in a text file. 从本指南中,你将可以学习到有关.htaccess文件及其功能的知识,并用以优化你的网站。尽管....

    网管教程 从入门到精通软件篇.txt

    如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart  创建和删除硬盘...

    uboott移植实验手册及技术文档

    在文件中找到 195-201 代码,并在 201行后面添加如下代码: 195 copy_loop: 196 ldmia r0!, {r3-r10} /* copy from source address [r0] */ 197 stmiar1!, {r3-r10} /* copy to target address [r1] */ 198 cmp ...

    Linux操作系统基础教程

    在这一讲中,我们主要是了解一下 Linux 的概况,以及对 Linux 有一个初步的感性认识。 一.什么是Linux? Linux 是一个以 Intel 系列 CPU(CYRIX,AMD 的 CPU也可以)为硬件平台,完全免费的 UNIX 兼容系统,完全...

Global site tag (gtag.js) - Google Analytics