- PHP面試之編程題及答案 推薦度:
- 相關推薦
2017年PHP面試編程題
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));
【PHP面試編程題】相關文章:
2017年PHP面試之編程題及答案09-12
PHP編程語言搶手的原因08-11
php編程語言入門知識05-22
如何自學PHP編程語言07-28
學習php編程語言 php常用英語單詞10-03
PHP符合PSR編程規范的實例07-31
PHP編程開發的10條原則09-23
PHP編程開發的原則有哪些05-11
PHP編程語言的10大誤區07-14
PHP編程語言的誤區有哪些10-10