PHP面试题总结
来源:互联网 发布:单片机专家 编辑:程序博客网 时间:2024/05/15 18:42
1. 禁用COOKIE 后 SEESION 还能用吗?
cookie是保存在本地的,而seesion是保存在服务器上的。所以两者没有直接的关系,禁用cookie后seesion依然可以用。
2. 抓取远程图片到本地,你会用什么函数?
用file_get_contents函数,ex:
<?php
$img = file_get_contents('http://www.baidu.com/img/baidu_logo.gif');
file_put_contents('1.gif',$img);
echo '<img src="1.gif">';
?>
3.在HTTP 1.1中,状态码 401 的含义是(4);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(5)。
答:(4)未授权 (5) header("HTTP/1.1 404 Not Found");
4.表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。
答:$sql = 'SELECT CASE WHEN A>B THEN A ELSE B END,
case when B>C then B else C end From tomener';
5.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句(10)动态装载PHP模块,然后再用语句(11)使得Apache把所有扩展名为php的文件都作为PHP脚本处理。
答:(10) LoadModule php5_module F:/php5/php5apache2.ddl
(11) AddType application/x-httpd-php .php
6.优化MYSQL数据库的方法
(1)选取最适用的字段类型
(2)使用连接(JOIN)来代替子查询(Sub-Queries)
(3)使用联合(UNION)来代替手动创建的临时表
(4)使用索引,增加查询效率
(5)根据sql语句和索引来跳转sql语句和索引,以达到最优的查询
(6)优化查询语句,提高索引命中率
(7)构造分库分表,提高数据库的存储和扩展能力
(8)根据需要使用不同的存储引擎
7.写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
$url = "http://www.sina.com.cn/abc/de/fg.php?id=1";
$arr = parse_url($url);
$pathArr = pathinfo($arr['path']);
print_r($pathArr['extension']);
8.写一个函数,算出两个文件的相对路径
如 $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
计算出 $b 相对于 $a 的相对路径应该是 http://www.cnblogs.com/12/34/c.php将添上
$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
//获取path相对于conpath的相对路径
function sGetRelativePath($path, $conpath)
{
$pathArr = explode("/", $path);
$conpathArr = explode("/", $conpath);
$dismatchlen = 0;
for($i = 0; $i < count($pathArr); $i++)
{
if($conpathArr[$i] != $pathArr[$i])
{
$dismatchlen = count($pathArr) - $i;
$arrLeft = array_slice($pathArr, $i);
break;
}
}
$ret = str_repeat("../", $dismatchlen).implode("/", $arrLeft);
return $ret;
}
print_r(sGetRelativePath($b, $a));
9.写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char有什么区别?
答:
1、Int 整形
2、Char字符型
3、Varchar 可变长度字符型
4、Datetime 时间日期内省
5、Text 文本类型
6、Varchar 是可变长度类型,占用的空间是字符串的长度+1,而char是固定长度字符串类型,定义了多少空间就占用多少空间。
10.请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char有什么区别?
答:
1、Int 整形
2、Char字符型
3、Varchar 可变长度字符型
4、Datetime 时间日期内省
5、Text 文本类型
6、Varchar 是可变长度类型,占用的空间是字符串的长度+1,而char是固定长度字符串类型,定义了多少空间就占用多少空间。
.数组函数 arsort 的作用是(6);语句 error_reporting(2047)的作用是(7)。
答:(6)对数组进行逆向排序并保持索引关系 (7)All errors and warnings
11.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把标记及其内容都去掉):(9)。
答:/<[^>].*?>.*?<\/>/si
12.请举例说明在你的开发过程中用什么方法来加快页面的加载速度
A.生成静态HTML
B.生成xml
C.可不用数据库的尽量不用数据库把变量参数存于文本.
D.用ZEND加速
13.PHP中传值和传引用、传地址的区别是什么?
答:传值是把实参的值赋值给行参 那么对行参的修改,不会影响实参的值
传地址 是传值的一种特殊方式,只是他传递的是地址,不是普通的如int 那么传地址以后,实参和行参都指向同一个对象
14.如何通过javascript判断一个窗口是否已经被屏蔽
答:获取open()的返回值,如果是null,就是屏蔽了
15.PHP遍历文件夹及子文件夹所有文件
<?php
function traverse($path = '.') {
$current_dir = opendir($path); //opendir()返回一个目录句柄,失败返回false
while(($file = readdir($current_dir)) !== false) { //readdir()返回打开目录句柄中的一个条目
$sub_dir = $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径
if($file == '.' || $file == '..') {
continue;
} else if(is_dir($sub_dir)) { //如果是目录,进行递归
echo 'Directory ' . $file . ':<br>';
traverse($sub_dir);
} else { //如果是文件,直接输出
echo 'File in Directory ' . $path . ': ' . $file . '<br>';
}
}
}
traverse("E:\www\happylou");
?>
16,将1234567890转换成1,234,567,890 每3位用逗号隔开的形式
echo number_format('1234567890',2);
17,语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是(12);为了避免多次包含同一文件,可以用语句(13)来代替它们。
答:(12) 发生异常时include产生警告require产生致命错误 (13) require_once()/include_once()
18,使用五种以上方式获取一个文件的扩展名
要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
答:使用五种以上方式获取一个文件的扩展名
1)get_ext1($file_name){
return strrchr($file_name, '.');
}
2)get_ext2($file_name){
return substr($file_name, strrpos($file_name, '.'));
}
3)get_ext3($file_name){
return array_pop(explode('.', $file_name));
}
4)get_ext4($file_name){
$p = pathinfo($file_name);
return $p['extension'];
}
5)get_ext5($file_name){
return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));
}
- PHP面试题总结
- PHP面试题总结
- php 面试题总结
- php面试题总结
- PHP面试题总结
- php 面试题简单总结
- 【转载】php面试题常见知识点总结
- 【总结】PHP常见面试题汇总(二)。。。
- php面试题常见知识点总结
- 【总结】PHP常见面试题汇总(三)
- 【总结】PHP常见面试题汇总(四)。。。
- 【总结】PHP常见面试题汇总(四)。。。
- 【总结】PHP常见面试题汇总(三)
- 【总结】PHP常见面试题汇总(二)
- 【总结】PHP常见面试题汇总(一)
- 【总结】PHP常见面试题汇总(三)
- PHP面试题总结归纳(一)
- php面试题总结(更新中。。。)
- quick-cocos2d-x游戏开发【3】——display.newSprite创建精灵
- 如何将window的边框去掉
- VC的剪贴板操作
- Android BLE开发之Android手机与BLE终端通信
- Factory 工厂模式
- PHP面试题总结
- UVA 146 - ID Codes
- mysql ERROR 1265 (01000)故障解决一例
- sklearn模型持久化
- 狗狗40题~ (Volume C)
- LayoutManager不能被多个panel共用
- 06-2. 字符串字母大小写转换(10)
- POJ 3080 Blue Jeans.
- 《Linux设备节点创建》用户空间ueventd创建设备节点规则