网上某面试题, 写一个函数,算出两个文件的相对路径
如 $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d将()添上
<?php
$a = '/a/b/12/34/e.php';
$b = '/a/b/12/44/c.php';
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);
}
echo getRelativePath($a, $b);
分享到:
相关推荐
有两种主要类型的路径:绝对路径和相对路径。绝对路径是从根目录开始的完整路径,而相对路径是相对于当前工作目录的路径。本篇文章将深入探讨绝对路径与相对路径的概念、它们之间的转换以及如何在C++、Java和Python...
在`main`函数中,我们定义了基路径和目标路径,然后调用`getRelativePath`函数获取相对路径,并打印出来。在本例中,输出的相对路径应该是`"Project/Code.cpp"`。 注意,对于VS2008,由于当时标准库未包含`...
"VB6.0相对路径打开文件示例程序" 提供了一个实用的范例,展示了如何在不指定完整文件系统路径的情况下,通过相对路径来访问和操作文件。相对路径是一种基于当前工作目录来指定文件位置的方法,它简化了程序的移植性...
- 编写函数或脚本来转换相对路径到绝对路径,反之亦然。 - 解决在不同目录结构下,如何正确构建相对路径的挑战。 - 理解和应用 `.` 和 `..` 的组合来定位文件。 通过这个小练习题,你可以深入理解相对路径的工作...
要实现"获取指定目录下的文件相对路径",通常会用到编程语言或脚本系统提供的文件系统函数。在NSIS中,可以使用内置的命令和插件来处理路径。例如,`GetFileDir.exe`可能是NSIS的一个辅助工具,用于获取目标文件或...
2. 相对路径:相对于当前工作目录的路径,依赖于当前脚本的执行位置。 二、PHP中的路径处理 1. `__DIR__`魔术常量:它返回包含该文件的目录的绝对路径,可用于获取当前文件的上下文。 2. `dirname()`函数:返回路径...
1. **定义资源路径函数**: - 上述示例中的`resource_path`函数可以根据不同情况返回正确的路径。 - 这种方式可以确保无论是在开发环境中还是在打包后的可执行文件中,都能正确加载到所需的资源文件。 2. **使用...
在编程领域,路径处理是...记得在使用自定义函数时,要确保考虑到各种可能的路径格式,包括相对路径、网络路径以及没有扩展名的文件等。同时,为了提高代码的可读性和可维护性,添加适当的注释和错误处理也是必要的。
本文将深入探讨Java中的相对路径,这是在处理文件和目录时经常会遇到的一个关键主题。相对路径是相对于当前工作目录或某个已知起点的文件或目录的路径表示方式,与绝对路径(完整描述文件或目录位置的路径)相比,...
这里主要关注JS部分,即`function delfile(filepath)`,但这个函数是用于删除指定路径下的文件,与获取相对路径无关。 ### 四、结论 综上所述,在静态页面中使用JavaScript获取相对路径是一个基本但重要的技能。...
这些函数会结合当前工作目录和给定的相对路径,生成对应的绝对路径。 **四、实践应用** 1. **软件开发**:在编写代码时,尤其是在处理资源文件路径时,开发者通常会用到相对路径,以确保代码的可移植性。 2. **...
1. 检查`post.php`代码:确保`header()`函数中的URL是绝对路径,而非相对路径。 2. 更新或修复URL构造逻辑:如果代码中存在构造URL的部分,确保正确处理相对路径,将其转换为绝对路径。 3. 验证服务器配置:检查`....
在ASP中,`ChkMapPath`函数被设计用来将一个相对路径转换为服务器上的绝对路径。这个函数的关键在于理解ASP的`Server.MapPath`方法,该方法能够将相对于应用程序根目录的虚拟路径转换为实际的物理路径。 下面我们将...
此外,这个实现没有处理相对路径的情况,对于相对路径,可能需要额外的逻辑来处理。 在实际项目中,你可能会遇到各种路径格式和特殊情况,因此在编写此类函数时,确保对各种边界情况和异常进行充分的测试是非常重要...
- **PathRelativePathTo**:创建一个路径到另一个路径的相对路径。 - **PathResolve**:将相对路径或绝对路径转换为完全限定路径。 - **PathCanonicalize**:规范化路径,即整理不规范的路径格式。 - **...
- 这个函数将相对路径转换为绝对路径,或者验证绝对路径的正确性。它返回完整的路径字符串,并且可以处理驱动器号、环境变量和相对路径。 4. `PathCanonicalize`: - `PathCanonicalize` 用于规范化路径,消除...
通过灵活运用`os`模块的函数和相对路径的概念,你可以更高效地管理文件和目录,从而提升编程效率。在实际编程中,务必注意相对路径的正确性和适用性,以确保程序能够正确地访问所需的文件和资源。
在Python3中,相对路径是程序访问文件和目录时经常使用的路径表示方法。相对路径不像绝对路径那样直接指明文件或目录的完整路径,而是基于当前工作目录来确定位置。理解相对路径对于编写可移植性良好的代码至关重要...
- **Get Fully Qualified Path 函数**:用于将相对路径转换为绝对路径,确保程序在任何环境下都能正确找到文件。 - **Change Directory 函数**:可以改变当前工作目录,这对于处理相对路径的文件至关重要。 - **...