`

php永远不懂的面试题目1算出两个文件的相对路径

    博客分类:
  • php
php 
阅读更多
 新浪有个面试题目:写一个php函数算出两个文件的相对路径 ?php //计算出 c.php相对于e.php的相对路径应该是../../12/34 $a = /a/b/c/d/e.php; $b = /a/b/12/34/c.php; getpathinfo($a, $b); function getpathinfo( $a, $b ) { $a

  新浪有个面试题目:写一个php函数算出两个文件的相对路径

  

  //计算出 c.php相对于e.php的相对路径应该是../../12/34

  $a = '/a/b/c/d/e.php';

  $b = '/a/b/12/34/c.php';

  getpathinfo($a, $b);

  function getpathinfo( $a, $b ) {

  $a2array = explode('/', $a);

  $b2array = explode('/', $b);

  $pathinfo = '';

  for( $i = 1; $i <= count($b2array)-2; $i++ ) {

  $pathinfo.=$a2array[$i] == $b2array[$i] ? '../' : $b2array[$i].'/';

  }

  print_R($pathinfo);

  }

  ?>

  还有个比较复杂的方法不太完善思路是正确的可以研究

  

  $a = 'aa/bb/cc/dd/a.php';

  $b ='aa/bb/11/22/33/b.php';

  //写一个函数,数出二个文件的相对路径。

  function GetNum($variant,$variant2){

  $pth1 = null;

  $pth2 = null;

  $tmp = array();

  //分别判断路径下面的文件是不是存在.

  if(is_file($variant) && is_file($variant2)){

  $len1 = count($pth1 = explode('/',dirname($variant)));

  $len2 = count($pth2 = explode('/',dirname($variant2)));

  $maxlen = max($len1,$len2);

  for($i=1;$i<$maxlen;$i++){

  if($pth1[$i] != $pth2[$i] && isset($pth1[$i])){

  if(isset($pth2[$i])) $tmp[] = $pth2[$i];

  }else{

  $tmp[] = $pth2[$i];

  $pathe .= '../';

  }

  }

  return $pathe.implode('/',$tmp).'/'.basename($variant2);

  }else{

  return '路径不合法!';

  }

  }

  print_r(GetNum($a,$b));

  ?>
来自 php100
分享到:
评论

相关推荐

    PHP程序员面试题目

    【PHP程序员面试题目详解】 1. PHP中,当前脚本的名称不包括路径和查询字符串,存储在预定义变量`$_SERVER['PHP_SELF']`中;而链接到当前页面的URL记录在`$_SERVER["HTTP_REFERER"]`里。这两变量在处理表单提交或...

    PHP初级程序员面试题目

    PHP初级程序员面试题目6份,包含答案 PHP面试题 姓名:____________ 日期:____________ 1.以下的代码会产生什么?为什么? $num =10; function multiply(){ $num =$num *10; } multiply(); echo $num; 10 2.有一个...

    php面试题目

    1. 直接执行脚本文件:`php filename.php arg1 arg2`,其中`arg1`、`arg2`等是传递给脚本的参数。 2. 使用`-r`选项执行嵌入的PHP代码:`php -r "&lt;?php code ?&gt;"`,这种方式适合执行简单的、临时的代码片段。 #### ...

    php相对路径解决方法

    "php相对路径解决方法"这个主题主要关注如何在PHP中有效地使用相对路径来解决文件定位的问题。以下是对这个话题的详细阐述: 一、理解路径类型 1. 绝对路径:从根目录开始的完整路径,明确指明了文件或目录的位置。...

    php初级程序员面试题目

    在PHP的世界里,初级程序员面试通常会涵盖一系列基础到中等难度的问题,旨在评估候选人的基础知识、编程技能以及解决问题的能力。以下是一些可能出现在PHP面试中的常见知识点,这些知识点对于准备面试的初级PHP...

    使用PHP求两个文件的相对路径

    在PHP中求两个文件的相对路径是一个非常实用的功能,特别是在处理文件路径时,我们经常需要将一个文件的路径转换为相对于另一个文件的路径。这样做可以有效地管理项目中的资源引用,特别是在构建资源管理系统或者...

    php基础题面试题目

    【PHP基础知识面试题目详解】 1. `mysql_connect()`函数用于A:连接mysql数据库。这是PHP中连接MySQL服务器的函数,需要提供服务器地址、用户名和密码等信息。 2. PHP代码块的默认风格是A:&lt;?php ?&gt;。这是PHP标准的...

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

    在PHP编程中,有时我们需要计算两个文件的相对路径,特别是在处理文件系统操作或者构建URL时。这个任务可以通过分析和比较两个绝对路径来实现。本文将详细介绍如何使用PHP编写一个函数来计算两个文件的相对路径,并...

    初级php程序员面试题目

    很好的php程序员面试题目.涵盖很多重要的方面,祝大家面试成功!

    php经典面试题目(基础型)

    根据给定的文件信息,以下是从标题、描述、部分内文中提炼出的多个重要的PHP基础知识与面试题目,这些知识点覆盖了日期操作、字符串处理、输出函数、模板引擎、版本控制系统、MySQL优化、PHP哲学以及获取客户端IP等...

    javascript文件中获取当前文件路径

    在开发javascript插件的过程中,我们有时候需要获取当前JS文件的路径,用于自动加载一些图片、CSS等外部资源,但是javascript文件中并没有像PHP那样的__FILE__常量来供我们取得当前文件路径

    PHP获取文件相对路径的方法

    下面是一个自定义函数`getRelativelyPath()`,它接受两个参数:源文件路径 `$a` 和目标文件路径 `$b`,然后返回目标文件相对于源文件的相对路径。 ```php function getRelativelyPath($a, $b) { // 将路径分解为数...

    PHP生成压缩文,不带要压缩文件的根目录

    "PHP生成压缩文,不带要压缩文件的根目录"这个话题,主要涉及的是如何使用PHP的ZipArchive类来创建一个ZIP文件,但不包含源文件的根目录路径。下面将详细介绍这一知识点及其相关技术。 首先,我们需要了解PHP的Zip...

    导出路径文件,导出指定文件夹,批量复制文件,文件夹导出带路径工具

    "导出路径文件,导出指定文件夹,批量复制文件,文件夹导出带路径工具"是一个专门为这一需求设计的解决方案。这个工具是由PHP编程语言开发的,它允许用户快速、便捷地导出指定文件夹中的所有文件,并且每个文件的...

    phpweb网址转发不能包含相对路径符号解决办法

    然而,在实现这个功能时,有时会遇到一个问题:转发的URL不能包含相对路径符号,这可能导致页面加载错误或者重定向失效。本文将深入探讨这个问题,并提供解决方案。 首先,我们需要理解URL转发的基本原理。URL转发...

    php经典面试题目

    下面将详细解析提供的PHP面试题目中的知识点。 1. 题目中提到了向数组添加元素的不同方法。在PHP中,有几种方式可以向数组添加元素: - `$users[] = 'john';` 这是向数组末尾添加元素的最常用方法。 - `array_...

    php100-96PHP程序员经典面试&笔试题目解析(上).rar

    【标题解析】:“php100-96PHP程序员经典面试&笔试题目解析(上).rar” 这个标题表明这是一个关于PHP程序员面试和笔试题目的资源集合,由“php100”可能是一个教育平台或者教程系列,而“96”可能是表示题目数量...

Global site tag (gtag.js) - Google Analytics