php求两个目录的相对路径示例(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);

 $k = 0;

 for($i = 0; $i < $len; $i++)
 {
 if($k == 0)
 {
 if(isset($aArr[$i]) && ($aArr[$i] != $bArr[$i]))
 {
 $d .= '../';

 if(isset($bArr[$i]))
 {
 $nP[$i] = $bArr[$i];
 }

 $k = $k + 1;
 }
 }
 else
 {
 if(isset($aArr[$i]))
 {
 $d .= '../';
 }
 if(isset($bArr[$i]))
 {
 $nP[$i] = $bArr[$i];
 }
 }
 }

 echo $d.implode('/', $nP);
}

时间: 2024-10-21 16:07:36

php求两个目录的相对路径示例(php获取相对路径)_php实例的相关文章

php求两个目录的相对路径示例

 这篇文章主要介绍了php求两个目录的相对路径示例(php获取相对路径),需要的朋友可以参考下 求两个目录的相对路径,不限制路径深度    代码如下: /**  * 输出$b相对于$a的相对路径($a)  * 不限限制路径深度,没有做什么优化,只是实现功能  */ function getPath($a, $b) {  $aArr = explode('/', dirname($a));  $bArr = explode('/', dirname($b));    $aLen = count($

PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)_php实例

如果做一个在线的文件管理系统的话,那么首先必须知道怎么读取目录和文件,其实这个功能几行代码就可以实现了. 输出效果: 实现代码: 复制代码 代码如下: <?php $dir = "D:/";  //要获取的目录 echo "********** 获取目录下所有文件和文件夹 ***********<hr/>"; //先判断指定的路径是不是一个文件夹 if (is_dir($dir)){  if ($dh = opendir($dir)){   whi

php遍历目录与文件夹的多种方法详解_php实例

遍历目录或遍历目录下指定类型的文件,这是每一个童鞋在写程序的时候难免会用到的.PHP本身也提供了很多灰常有用的函数,正确地使用它们,不会有错滴.下面就我个人学习过程中的一些总结,希望对想学PHP的童鞋有所帮助.本函数可以列出指定目录下所有的文件(包括子目录下的) 复制代码 代码如下: function getfiles($path){ foreach(scandir($path) as $afile){if($afile=='.'||$afile=='..') continue; if(is_d

总结PHP如何获取当前主机、域名、网址、路径、端口和参数等_php实例

话不多说,我们直接看代码 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br />"; //获取网页地址 echo $_SERVER['PHP_SELF']."<br />"; //获取网址参数 echo $_SERVER["QUERY_STRING"]."<br />"; //获取用户代理 echo $_SERVER['HTTP_REFERER'].&q

PHP中比较两个字符串找出第一个不同字符位置例子_php实例

一般的做法就会这样: 复制代码 代码如下: <?phpfor ($offset = 0; $offset < $length; ++$offset) {    if ($str1[$offset] !== $str2[$offset]) {        return $offset;    }} 而问题下面给出的最佳答案是用异或操作符( ^ ),以前从来没用过这个操作符,也不知道能用到什么地方,今天算是学到. 因为一般情况下,当你对两个字符串进行异或操作的时候,相同的字符的异或结果是null

java获取各种路径的基本方法_java

本文实例为大家分享了java获取不同路径的方法,供大家参考,具体内容如下 package com.ygh.blog.realpath; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Properties; /** * 获取java下面的路径的演示 */ import org.junit.Test; public c

tomcat-不知道为什么访问不到图片,求帮忙。目录跟访问路径如下图

问题描述 不知道为什么访问不到图片,求帮忙.目录跟访问路径如下图 解决方案 URL地址后的中文会自动转码为URL编码,你可以把图片换成英文图片名 ,例如 :安踏.jsp AnTa.jsp就可以了 解决方案二: 中文问题,你把url用utf8编码一下吧 解决方案三: 楼主 url编码问题 你可以尝试换成英文的 或者对url进行编码 解决方案四: 对url进行编码,URL地址后的中文会自动转码为URL编码,你可以把图片换成英文图片名 解决方案五: 图片用英文命名,或者把URL转码成UTF-8 解决方

PHP解析目录路径的3个函数总结_php技巧

要描述一个文件的位置,可以使用决对路径和相对路径.绝对路径是从根开始一级一级地进入各个子目录,最后指定该文件名或目录名.而相对目录是从当前目录进入某目录,最后指定该文件名或目录名.在系统的每个目录下都有两个特殊的目录"."和"..",分别指示当前目录和当前目录的父目录(上一级目录).例如: 复制代码 代码如下: $unixPath = "/var/www/html/index.php"; –在UNIX系统中绝对路径,必须使用"/&quo

测试-汇编求两个任意位数的十进制数字的差,并输出。结果总是输出10进制的补码是什么情况

问题描述 汇编求两个任意位数的十进制数字的差,并输出.结果总是输出10进制的补码是什么情况 data segment buff1 db 20 ;存放最大字符个数 n1 db ? ;实际存放字符个数 content1 db 20 dup(0) ;存放输入字符 buff2 db 20 ;buf=buffer缓冲区,content目录 n2 db ? content2 db 20 dup(0) buff4 db 21 dup(0) ;buff3用于存放结果 data ends code segment