PHP经典面试题集锦(3)

3. 写一个函数,算出两个文件的相对路径
如 $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
计算出 b相对于a 的相对路径应该是 https://www.jb51.net/12/34/c.php将添上

<?php $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //获取path相对于conpath的相对路径 function sGetRelativePath(path,conpath) { pathArr=explode("https://www.jb51.net/",path); conpathArr=explode("https://www.jb51.net/",conpath); $dismatchlen = 0; for(i=0;i < count(pathArr);i++) { if(conpathArr[i] != pathArr[i]) { dismatchlen=count(pathArr) - $i; arrLeft=arrayslice(pathArr, $i); break; } } ret=strrepeat("../",dismatchlen).implode("https://www.jb51.net/", $arrLeft); return $ret; } print_r(sGetRelativePath(b,a));

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

<?php function aGetAllFile($folder) { $aFileArr = array(); if(is_dir($folder)) { handle=opendir(folder); while((file=readdir(handle)) !== false) { //如果是.或者..则跳过 if(file=="."||file == "..") { continue; } if(is_file(folder."https://www.jb51.net/".file)) { aFileArr[]=file; } else if(is_dir(folder."https://www.jb51.net/".file)) { aFileArr[file] = aGetAllFile(folder."https://www.jb51.net/".file); } } closedir($handle); } return $aFileArr; } $path = "/home/test/sql"; print_r(aGetAllFile($path));

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/39c43a719bb2221f05eac3a13fd4fc05.html