比较基础的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...

面试题 相关文章推荐
String和StringBuffer的区别
Aug 13 面试题
什么是Deployment descriptors;都有什么类型的部署描述符
Jul 28 面试题
C语言笔试题回忆
Apr 02 面试题
计算s=f(f(-1.4))的值
May 06 面试题
Internet主要有哪些网络群组成
Dec 24 面试题
描述RIP和OSPF区别以及特点
Jan 17 面试题
abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?
Oct 15 面试题
简述安装Slackware Linux系统的过程
Jan 12 面试题
如何开启linux的ssh服务
Feb 14 面试题
系统管理员的职责包括那些?管理的对象是什么?
Jan 18 面试题
What is EJB
Jul 22 面试题
Java面试题冲刺第十五天--设计模式
Aug 07 面试题
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 新手入门教程
2009/08/03 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
Javascript - HTML的request类
2007/01/09 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
Express+Nodejs 下的登录拦截实现代码
2017/07/01 NodeJs
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
Vue.js 实现数据展示全部和收起功能
2018/09/05 Javascript
微信小程序当前时间时段选择器插件使用方法详解
2018/12/28 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
使用Python生成url短链接的方法
2015/05/04 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
python实现图片上添加图片
2019/11/26 Python
使用python和pygame制作挡板弹球游戏
2019/12/03 Python
Python中url标签使用知识点总结
2020/01/16 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
一套VC试题
2015/01/23 面试题
优秀的茶餐厅创业计划书
2014/01/03 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
Nginx跨域问题解析与解决
2022/08/05 Servers