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

面试题 相关文章推荐
Java中实现多态的机制是什么?
Dec 07 面试题
List, Set, Map是否继承自Collection接口?
May 16 面试题
怎么处理XML的中文问题
Mar 26 面试题
为什么要有struct关键字
May 08 面试题
文件中有一组整数,要求排序后输出到另一个文件中
Jan 04 面试题
.NET remoting的两种通道是什么
May 31 面试题
TCP/IP的分层模型
Oct 27 面试题
C#笔试题集合
Jun 21 面试题
软件缺陷的分类都有哪些
Aug 22 面试题
AJAX都有哪些有点和缺点
Nov 03 面试题
Jdbc数据访问技术面试题
Mar 30 面试题
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 array_map()数组函数使用说明
2011/07/12 PHP
PHP漏洞全解(详细介绍)
2012/11/13 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
PHP连接MSSQL方法汇总
2016/02/05 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
jQuery插件dataTables添加序号列的方法
2016/07/06 Javascript
javascript基础知识讲解
2017/01/11 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
在Django的模型中添加自定义方法的示例
2015/07/21 Python
Python中is与==判断的区别
2017/03/28 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
python-xpath获取html文档的部分内容
2020/03/06 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
python小白切忌乱用表达式
2020/05/29 Python
Python RabbitMQ实现简单的进程间通信示例
2020/07/02 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
教师辞职报告范文
2014/01/20 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
大学生求职计划书
2014/04/30 职场文书
英语专业求职信
2014/07/08 职场文书
交通安全责任书范本
2014/07/24 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
项目经理岗位职责
2015/01/31 职场文书
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript