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

面试题 相关文章推荐
构造器Constructor是否可被override?
Aug 06 面试题
JDK安装目录下有哪些内容
Aug 25 面试题
上海奥佳笔试题面试题
Nov 16 面试题
.net工程师笔试题
Jun 09 面试题
广州品高软件.net笔面试题目
Apr 18 面试题
程序集与命名空间有什么不同
Jul 25 面试题
Linux的文件类型
Jul 05 面试题
捷科时代的软件测试笔试题
Nov 09 面试题
什么是GWT的Module
Jan 20 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Jul 27 面试题
什么是servlet链?
Jul 13 面试题
J2EE面试题集锦(附答案)
Aug 16 面试题
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伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
PHP批量生成缩略图的代码
2008/07/19 PHP
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
vue实现评论列表功能
2019/10/25 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
Python中操作mysql的pymysql模块详解
2016/09/13 Python
Python编写一个闹钟功能
2017/07/11 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
同学聚会欢迎辞
2014/01/14 职场文书
大二自我鉴定
2014/01/31 职场文书
出纳会计岗位职责
2014/03/12 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
小学运动会加油词
2015/07/18 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers