比较基础的php面试题及答案-编程题


Posted in 面试题 onOctober 14, 2012
编程题:
1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
答案1:
function getExt($url){
$arr = parse_url($url);

$file = basename($arr[path]);
$ext = explode(“.”,$file);
return $ext[1];
}
答案2:
function getExt($url) {
$url = basename($url);
$pos1 = strpos($url,”.”);
$pos2 = strpos($url,”?”);
if(strstr($url,”?”)){
return substr($url,$pos1 + 1,$pos2 – $pos1 – 1);
} else {
return substr($url,$pos1);
}
}

2. 在 HTML 语言中,页面头部的 meta 标记可以用来输出文件的编码格式,以下是一个标准的 meta 语句
请使用 PHP 语言写一个函数,把一个标准 HTML 页面中的类似 meta 标记中的 charset 部分值改为 big5
请注意:
1. 需要处理完整的 html 页面,即不光此 meta 语句
2. 忽略大小写
3. ‘ 和 ” 在此处是可以互换的
4. ‘Content-Type’ 两侧的引号是可以忽略的,但 ‘text/html; charset=gbk’ 两侧的不行
5. 注意处理多余空格

3. 写一个函数,算出两个文件的相对路径
如 $a = ‘/a/b/c/d/e.php’;
$b = ‘/a/b/12/34/c.php’;
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d将()添上
答:function getRelativePath($a, $b) {
$returnPath = array(dirname($b));
$arrA = explode(‘/’, $a);
$arrB = explode(‘/’, $returnPath[0]);
for ($n = 1, $len = count($arrB); $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);

Tags in this post...

面试题 相关文章推荐
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
Dec 05 面试题
"序列点" 是什么
Jul 29 面试题
南京某软件公司的.net面试题
Nov 30 面试题
面向对象概念面试题(.NET)
Nov 04 面试题
局域网标准
Sep 10 面试题
英智兴达软件测试笔试题
Oct 12 面试题
AURALog面试题软件测试方面
Oct 22 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
Dec 04 面试题
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
Nov 09 面试题
解释i节点在文件系统中的作用
Nov 26 面试题
如何在Shell脚本中使用函数
Sep 06 面试题
一套Delphi的笔试题一
Feb 14 面试题
PHP中如何创建和修改数组
May 02 #面试题
PHP面试题集
Dec 18 #面试题
一些PHP的面试题
May 06 #面试题
几道PHP面试题
Apr 14 #面试题
PHP如何防止SQL注入
May 03 #面试题
几道PHP的面试题
May 19 #面试题
PHP解析URL是哪个函数?怎么用?
May 09 #面试题
You might like
PHP多线程类及用法实例
2014/12/03 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
node.js中的http.request.end方法使用说明
2014/12/10 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
微信小程序实现图片上传功能
2018/05/28 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
Python实现多进程的四种方式
2019/02/22 Python
pytorch ImageFolder的覆写实例
2020/02/20 Python
Python定时器线程池原理详解
2020/02/26 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
关于VPN
2012/06/10 面试题
运动会开幕式解说词
2014/02/05 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
赞美教师的句子
2019/09/02 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
vscode中使用npm安装babel的方法
2021/08/02 Javascript
Go语言的协程上下文的几个方法和用法
2022/04/11 Golang
MySQL分区以及建索引的方法总结
2022/04/13 MySQL
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS