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

面试题 相关文章推荐
什么是"引用"?申明和使用"引用"要注意哪些问题?
Mar 03 面试题
数据库设计的包括哪两种,请分别进行说明
Jul 15 面试题
在SQL Server中创建数据库主要有那种方式
Sep 10 面试题
武汉世纪畅想数字传播有限公司.NET笔试题
Jul 22 面试题
TCP协议通讯的过程和步骤是什么
Oct 18 面试题
用C#语言写出在本地创建一个UDP接收端口的具体过程
Feb 22 面试题
类和结构的区别
Aug 15 面试题
Solaris操作系统的线程机制
Dec 23 面试题
介绍一下Linux文件的记录形式
Sep 29 面试题
软件测试有哪些?什么是配置项?
Feb 12 面试题
Ajax请求总共有多少种Callback
Jul 17 面试题
下面代码从性能上考虑,有什么问题
Apr 03 面试题
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
2006/11/25 PHP
PHP 编程请选择正确的文本编辑软件
2006/12/21 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
Yii框架登录流程分析
2014/12/03 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
PHP实现图片压缩
2020/09/09 PHP
JS Date函数整理方便使用
2013/10/23 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
jquery手风琴特效插件
2015/02/04 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
python中常用的九种预处理方法分享
2016/09/11 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
详谈pandas中agg函数和apply函数的区别
2018/04/20 Python
Python利用公共键如何对字典列表进行排序详解
2018/05/19 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
Python filter过滤器原理及实例应用
2020/08/18 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
数控专业应届生求职信
2013/11/27 职场文书
大学毕业寄语大全
2014/04/10 职场文书
2014和解协议书范文
2014/09/15 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android