首页 > 后端开发 > 正文

php中两个字符串之间的相对路径怎么计算

2024-07-26 13:29:25 | 我爱编程网

php中两个字符串之间的相对路径怎么计算很多朋友对这方面很关心,我爱编程网整理了相关文章,供大家参考,一起来看一下吧!

本文目录一览:

php中两个字符串之间的相对路径怎么计算

php中两个字符串之间的相对路径怎么计算

php 计算两个文件之间的相对路径方法

例如:
文件A 的路径是 /home/web/lib/img/cache.php
文件B的路径是 /home/web/api/img/show.php
那么,文件A相对于文件B的路径是 ../../lib/img/cache.php,即文件B 访问 文件A的相对路径。

function getRelativePath

[php] view plain copy
<?php
/** 计算path1 相对于 path3 的路径,即在path3引用paht1的相对路径
* @param String $path1
* @param String $path3
* @return String
*/
function getRelativePath($path1, $path3){
$arr1 = explode('/', $path1);
$arr2 = explode('/', $path3);

// 获取相同路径的部分
$intersection = array_intersect_assoc($arr1, $arr2);

$depth = 0;

for($i=0,$len=count($intersection); $i<$len; $i++){
if(!isset($intersection[$i])){
$depth = $i;
break;
}
}

// 将path3的/ 转为 ../,path1获取后面的部分,然后合拼
$tmp = array_merge(array_fill(0, count($arr2)-$depth-1, '..'), array_slice($arr1, $depth));

$relativePath = implode('/', $tmp);

return $relativePath;
}

php中两个字符串之间的相对路径怎么计算我爱编程网

php相对路径./和../的问题

在入口文件定义一个常量:defined('P_ROOT') or define('P_ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);
在其它地方直接用 include(P_ROOT. 'config/version.php');
这样的习惯就不会有问题了。

php中两个字符串之间的相对路径怎么计算

php 相对路径请教达人

我爱编程网(https://www.52biancheng.com)小编还为大家带来php 相对路径请教达人的相关内容。

不懂php 不过帮你搜了点资料 希望对你有帮助
采用公用文件定义路径的方式,这也是我常使用的方式,在我的应用中定义一个path.php文件,在文件中定义当前应用的全局路径变量 $ROOT_PATH,所有的应用文件都调用和包含path.php文件,这个文件可以放到php.ini的include_path设置的目录下,也可以放到系统根 /下,也可以放到任何地方,只要的相对固定的,建议放到include_path定义的目录下,path.php文件根据当前访问的页面相对的PHP_SELF值取得路径信息,然后通过计算的方式得出到网站相对根目录的相对路径,下面是我的path.php文件的计算$ROOT_PATH值的方式:
/**
* 获取当前文件同指定网站相对根目录的目录层数 $ROOT_PATH
* $ROOT_PATH 变量值末尾包含了路径的"/"符号,在引用时不要再加"/"
* example: $ROOT_PATH."images/logo.gif"
*/
$_self_path = ($_SERVER['PHP_SELF']) == "" ? $_SERVER['REQUEST_URI'] : ($_SERVER['PHP_SELF']) ;
$_path_array = explode("/",$_self_path);
$_path_count = count($_path_array);
$ROOT_PATH = "";
for ($i=0;$i<$_path_count-2;$i++)
{
$ROOT_PATH = '../'.$ROOT_PATH;
}

这个$ROOT_PATH可以在系统任何地方使用,只需要在后面跟上目标文件相对网站目录根的相对路径即可,比如 $ROOT_PATH.'/images/test.gif'当然上面的方法现在看来,已经显得过于繁复了,更好的就是"/"和"__FILE__"了.

以上就是我爱编程网为大家带来的php中两个字符串之间的相对路径怎么计算,希望能帮助到大家!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php中两个字符串之间的相对路径怎么计算”相关推荐
python绝对路径和相对路径怎么写
python绝对路径和相对路径怎么写

python绝对路径和相对路径怎么写python写绝对路径和相对路径的方法:绝对路径是指从系统盘一直到文件所在位置的路径,例如:“D:xmtitleprojectpycnvideo.txt”相对路径是指相对于.py文件的路径,例如:“pycnvideo.txt”示例如下:相对地址file=open("ax.txt",'r')a=file.read()

2024-01-12 18:00:54
php 计算两个时间相差多少天
php 计算两个时间相差多少天

比较时间段一与时间段二是否有交集的php函数步骤一:先看一下哪个时间端的开始时间比较早就算是A时间,另一个是B时间步骤二:比较下A时间的结束时间(C)是不是晚于B时间的开始时间(D)。就可以知道了。A:--------==========C--------B:-----------D===========-------A:-----===================C

2024-10-14 16:33:06
php 如何仅计算字符串中的多个数字?
php 如何仅计算字符串中的多个数字?

php如何仅计算字符串中的多个数字?可以按照如下方式实现:&lt;?phpfunctiongetNewStr($str){$newStr='';$a='';$b='';$flag='';for($i=0;$i&lt;strlen($str);$i++){//如果是数字if(preg_match("/^\d*$/",$str[$i])){

2024-08-26 18:46:47
php截取字符串函数(php截取指定2个字符之间字符串的方法)
php截取字符串函数(php截取指定2个字符之间字符串的方法)

php截取字符串函数PHP中,字符串截取是非常常见的操作。通过使用substr函数,我们可以按照指定位置或长度获取字符串的一部分。以下是一些示例:首先,substr函数用于从指定位置开始取字符,如从字符串"ABCDEFGHIJKLMNOPQRSTUVWXYZ"的第5个字符开始取,直到字符串结束,结果为"BZYX"。接着,可以指定截取的长度,如从第9个字符开始取4个字符,得到"DE

2025-01-23 09:43:22
如何用python对两个excel表格进行计算,对同一个位置的数据相减?
如何用python对两个excel表格进行计算,对同一个位置的数据相减?

输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和,差,积,整数商及余数。用Python实现。跪求input_data=list((input("输入num1,num2,空格分开")).split(''))num1=int(input_data[0])num2=int(input_data[1])print("和:"+str(num1+num2)+",差:"+s

2024-01-08 08:23:23
php中两个时间相减怎么得到年数
php中两个时间相减怎么得到年数

请教电子表格中一些常用函数的用法Excel常用函数功能、用法及实例剖析Excel常用函数功能及用法介绍1、ABS函数2、AND函数3、AVERAGE函数4、COLUMN函数5、CONCATENATE函数6、COUNTIF函数7、DATE函数8、DATEDIF函数9、DAY函数10、DCOUNT函数11、FREQUENCY函数12、IF函

2024-10-04 04:53:36
substr函数用法php php截取指定2个字符之间字符串的方法
substr函数用法php php截取指定2个字符之间字符串的方法

php截取指定2个字符之间字符串的方法本文实例讲述了PHP截取指定2个字符之间字符串的方法。分享给大家供大家参考。具体如下:在PHP中只要判断字符串1与字符串2之前的一个stripos位置然后再使用substr开始截取就可以了。这里给大家介绍一个简单例子。使用方法:$keyword='查找(计组实验)'$need=getNeedBetween($keyword,'(',')');运行该程序之

2024-11-02 07:17:50
字符串长度怎么算
字符串长度怎么算

字符串长度怎么算长度为从字符串开始,到'\0'结束,所有字符的个数,不包括'\0'本身。C语言的字符串是由字符数组形式保存的,并约定'\0'(ascii码值为0)作为字符串结束符。strlen计算的是字符串的长度,单位是“字符”,只能对字符串运算,而且它是函数(不是运算符),计算时,不包含末尾的"\0";当对字符数组操作时,返回的是数组总存放的字符串的实际长度(也就是\

2024-08-06 02:32:20