php语言 百分网手机站

PHP面试编程题

时间:2020-10-08 18:29:47 php语言 我要投稿

2017年PHP面试编程题

  PHP是属于后端的工程师,因此被问到编程问题是避免不了的,以下是百分网小编精心为大家整理的2017年PHP面试编程题,希望对大家有所帮助!更多内容请关注应届毕业生网!

2017年PHP面试编程题

  1. 写一个函数,尽可能高效的`,从一个标准 url 里取出文件的扩展名

  例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php

  $url = "http://www.sina.com.cn/abc/de/fg.php?id=1";

  arr=parseurl(arr=parseurl(url);

  pathArr=pathinfo(pathArr=pathinfo(arr['path']);

  print_r($pathArr['extension']);

  3. 写一个函数,算出两个文件的相对路径

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

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

  计算出 b相对于b相对于a 的相对路径应该是 http://www.cnblogs.com/12/34/c.php将添上

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

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

  //获取path相对于conpath的相对路径

  function sGetRelativePath(path,path,conpath)

  {

  pathArr=explode("/",pathArr=explode("/",path);

  conpathArr=explode("/",conpathArr=explode("/",conpath);

  $dismatchlen = 0;

  for(i=0;i=0;i < count(pathArr);pathArr);i++)

  {

  if(conpathArr[conpathArr[i] != pathArr[pathArr[i])

  {

  dismatchlen=count(dismatchlen=count(pathArr) - $i;

  arrLeft=arrayslice(arrLeft=arrayslice(pathArr, $i);

  break;

  }

  }

  ret=strrepeat("../",ret=strrepeat("../",dismatchlen).implode("/", $arrLeft);

  return $ret;

  }

  print_r(sGetRelativePath(b,b,a));

  3.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。

  function aGetAllFile($folder)

  {

  $aFileArr = array();

  if(is_dir($folder))

  {

  handle=opendir(handle=opendir(folder);

  while((file=readdir(file=readdir(handle)) !== false)

  {

  //如果是.或者..则跳过

  if(file=="."||file=="."||file == "..")

  {

  continue;

  }

  if(is_file(folder."/".folder."/".file))

  {

  aFileArr[]=aFileArr[]=file;

  }

  else if(is_dir(folder."/".folder."/".file))

  {

  aFileArr[aFileArr[file] = aGetAllFile(folder."/".folder."/".file);

  }

  }

  closedir($handle);

  }

  return $aFileArr;

  }

  $path = "/home/test/sql";

  print_r(aGetAllFile($path));

【2017年PHP面试编程题】相关文章:

1.PHP编程面试题集

2.PHP Socket编程过程

3.php编程语言入门知识

4.如何自学PHP编程语言

5.PHP编程风格规范分享

6.50个PHP编程小技巧

7.网页编程PHP语言的发展

8.学习PHP编程语言的优势

9.PHP编程语言抢手的原因