使用PHP求两个文件的相对路径
function compare($ph1,$ph2){
$ret = '';
$_f1Arr = explode("/",$ph1);
$_f2Arr = explode("/",$ph2);
$f1 = array_pop($_f1Arr);
$f2 = array_pop($_f2Arr);
for($i=0;$i<count($_f1Arr);$i++){
if($_f1Arr[$i] !== $_f2Arr[$i])
break;
}
for($j= $i-1;$j<count($_f1Arr);$j++){
$ret .= "../";
}
for($i-1;$i<count($_f2Arr);$i++){
$ret .= $_f2Arr[$i].'/';
}
return $ret.$f2;
}
$file1 = "aaa/ddd/ccc/ddd/test/a.js";
$file2 = "aaa/ddd/ccc/ddd/test/b.js";
echo compare($file1,$file2);
?>
B对于A的相对路径。。。
相关推荐
-
查找php配置文件php.ini所在路径的二种方法
通常php.ini的位置在: 复制代码 代码如下: /etc目录下或/usr/local/lib目录下. 如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法: 1.新建php文件,写入如下代码 复制代码 代码如下: <?phpecho phpinfo();[code] 然后在浏览器访问该页面,搜索php.ini, 2.执行,(需要修改php为你自己的路径)[code]/usr/local/php/bin/php --ini 会显示php.ini所在
-
PHP pathinfo()获得文件的路径、名称等信息说明
PHP pathinfo() 函数 定义和用法 pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息. 返回的数组元素如下: [dirname]:返回文件路径中的目录部分 [basename]:返回文件路径中文件名的部分 [extension]:返回文件路径中文件的类型的部分 语法 pathinfo(path,options) 参数 描述 path 必需.规定要检查的路径. options 可选.规定要返回的数组元素.默认是 all. 可能的值: PATHINFO_DIRNAME
-
PHP获取文件相对路径的方法
本文实例讲述了PHP获取文件相对路径的方法.分享给大家供大家参考.具体实现方法如下: <?php $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //../../12/34/c.php echo getRelativelyPath($a,$b); //求$b相对于$a的相对路径 function getRelativelyPath($a,$b){ $a=explode('/',$a); $b=explode('/',$b); var_dump($a
-
php获取文件夹路径内的图片以及分页显示示例
复制代码 代码如下: <div style="width: 90%; margin: 10px auto; border: 1px solid #ccc; text-align: center"> <?php $page=isset($_GET['page'])?$_GET['page']:0;//从零开始 $imgnums = 10; //每页显示的图片数 $path="upload"; //图片保存的目录
-
php计算两个文件相对路径的方法
本文实例讲述了php计算两个文件相对路径的方法.分享给大家供大家参考.具体如下: 一.问题: 写一个php函数算出两个文件的相对路径.例如$a="/a/b/c/d/e.php"; $b="/a/b/12/34/c.php",B相对于A的相对路径是什么? 二.解决方法: <?php /** * 求$b相对于$a的相对路径 * @param string $a * @param string $b * @return string */ function getR
-
php从完整文件路径中分离文件目录和文件名的方法
本文实例讲述了php从完整文件路径中分离文件目录和文件名的方法.分享给大家供大家参考.具体分析如下: basename()函数用于从路径中获得文件名 dirname()函数用于从路径中获得文件目录 <?php $full_name = 'c:\wamp\php\php.ini'; $base = basename($full_name); // $base is "php.ini" $dir = dirname($full_name); // $dir is "c:\w
-
PHP上传文件时自动分配路径的方法
本文实例讲述了PHP上传文件时自动分配路径的方法.分享给大家供大家参考.具体分析如下: 网站上传文件时,如果是小的企业站,放在一个目录还没问题,当网站大了,上传的文件多了,我们就不能放在同一个目录了,这里我们就来讲讲用PHP自动给上传的文件分配路径的方法. PHP分配上传文件的路径实例 主要程序片段如下: 复制代码 代码如下: <?php /*数字方式分配路径*/ function allotPath($id, $extend='jpg') { $folders = st
-
PHP获取文件绝对路径的代码(上一级目录)
PHP获取文件绝对路径 复制代码 代码如下: <?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\ echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\ ?> chdir() 函数 定义和用法 chdir() 函数把当前的目录改变为指定的目录. 若成功,则该函数返回 true,
-
使用PHP求两个文件的相对路径
复制代码 代码如下: function compare($ph1,$ph2){ $ret = ''; $_f1Arr = explode("/",$ph1); $_f2Arr = explode("/",$ph2); $f1 = array_pop($_f1Arr); $f2 = array_pop($_f2Arr); for($i=0;$i<count($_f1Arr);$i++){ if($_f1Arr[$i]
-
php求两个目录的相对路径示例(php获取相对路径)
求两个目录的相对路径,不限制路径深度 复制代码 代码如下: /** * 输出$b相对于$a的相对路径($a) * 不限限制路径深度,没有做什么优化,只是实现功能 */function getPath($a, $b){ $aArr = explode('/', dirname($a)); $bArr = explode('/', dirname($b)); $aLen = count($aArr); $bLen = count($bArr); $len = max($aLen, $bLen); $
-
Python实现求两个csv文件交集的方法
本文实例讲述了Python实现求两个csv文件交集的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python rd3 = open('data_17_17_2.csv') base = open('data_17_17_3.csv') wr3 = open('delNoBuyed3DayAndStoreAndInCar4.5.2.csv','w+') bsData = base.readlines() i = 1 for key in rd3: if key in bs
-
java实现字符串匹配求两个字符串的最大公共子串
本文实例讲述了java实现求两个字符串最大公共子串的方法.分享给大家供大家参考,具体如下: 最近在项目工作中有一个关于文本对比的需求,经过这段时间的学习,总结了这篇博客内容:求两个字符串的最大公共子串. 算法思想:基于图计算两字符串的公共子串.具体算法思想参照下图: 输入字符串S1:achmacmh 输入字符串S2:macham 第a步,是将字符串s1,s2分别按字节拆分,构成一个二维数组: 二维数组中的值如b所示,比如第一行第一列的值表示字符串s2和s1的第一个字节是否相等,若相等就是1
-
在QT5中实现求两个输入值的和并输出(实例)
1.在UI设计界面放置两个输入lineEdit.一个输出TextBrowser和一个PushButton(用以按键求和), 如图 2.打开.h文件,在类里面添加槽函数的声明代码,如图 : 3.打开.cpp文件,在文件最下面编写槽函数代码,如图 : 由于需要用到QString类型转基本数据类型(int),因此在头文件添加#include <QString> 4.点击运行,在弹出的程序窗口中输入两个数值并点击求和即可,如图 以上这篇在QT5中实现求两个输入值的和并输出(实例)就是小编分享给大家的
-
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
本文实例讲述了Python基于递归和非递归算法求两个数最大公约数.最小公倍数.分享给大家供大家参考,具体如下: 最大公约数和最小公倍数的概念大家都很熟悉了,在这里就不多说了,今天这个是因为做题的时候遇到了所以就写下来作为记录,也希望帮到别人,下面是代码: #!/usr/bin/env python #coding:utf-8 from fractions import gcd #非递归实现 def gcd_test_one(a, b): if a!=0 and b!=0: if a>b: a,
-
.NET CORE中比较两个文件内容是否相同的最快方法
前言 最近项目有个需求,需要比较两个任意大小文件的内容是否相同,要求如下: 项目是.NET CORE,所以使用C#进行编写比较方法 文件大小任意,所以不能将文件内容全部读入到内存中进行比较(更专业点说,需要使用非缓存的比较方式) 不依赖第三方库 越快越好 为了选出最优的解决方案,我搭建了一个简单的命令行工程,准备了两个大小为912MB的文件,并且这两个文件内容完全相同.在本文的最后,你可以看到该工程的Main方法的代码. 下面我们开始尝试各个比较方法,选出最优的解决方案: 比较两个文件是否完全相
-
Python自定义函数实现求两个数最大公约数、最小公倍数示例
本文实例讲述了Python自定义函数实现求两个数最大公约数.最小公倍数.分享给大家供大家参考,具体如下: 1. 求最小公倍数的算法: 最小公倍数 = 两个整数的乘积 / 最大公约数 所以我们首先要求出两个整数的最大公约数, 求两个数的最大公约数思路如下: 2. 求最大公约数算法: ① 整数A对整数B进行取整, 余数用整数C来表示 举例: C = A % B ② 如果C等于0,则C就是整数A和整数B的最大公约数 ③ 如果C不等于0, 将B赋值给A, 将C赋值给B ,然后进行 1, 2
-
Python实现比较两个文件夹中代码变化的方法
本文实例讲述了Python实现比较两个文件夹中代码变化的方法.分享给大家供大家参考.具体如下: 这里将修改代码后的目录与原始目录做对比,罗列出新增的代码文件,以及修改过的代码文件 # -*- coding: utf-8 -*- import os; folderA = "F:\\Projects\\FreeImageV3_14_1\\".lower(); folderB = u"E:\\Software\\图像解码库\\FreeImage3141\\FreeImage\\&q
随机推荐
- 百度HI QQ和MSN 阿里旺旺贸易通MSN在线客服在线聊天代码
- Golang中Set类型的实现方法示例详解
- SQL Sever2008r2 数据库服务各种无法启动问题的解决办法(详解)
- extjs DataReader、JsonReader、XmlReader的构造方法
- java使用正则表达式判断手机号的方法示例
- 浅谈JS的基础类型与引用类型
- 对比分析php中Cookie与Session的异同
- C++实现一个线程安全的单例工厂实现代码
- PHP5函数小全(分享)
- 使用jquery/js获取iframe父子级、同级获取元素的方法
- KnockoutJs快速入门教程
- SQL Server2005异地自动备份方法
- jquery实现通用版鼠标经过淡入淡出效果
- jquery mobile实现可折叠的导航按钮
- jquery插件推荐 jquery.cookie
- JavaScript数据结构与算法之栈与队列
- Serv-U和CuteFTP无法连接FTP服务器问题解答
- Java实现单例模式之饿汉式、懒汉式、枚举式
- cakephp常见知识点汇总
- Yii2实现ActiveForm ajax提交