PHP面试题.doc
- 文档编号:231610
- 上传时间:2022-10-07
- 格式:DOC
- 页数:15
- 大小:131KB
PHP面试题.doc
《PHP面试题.doc》由会员分享,可在线阅读,更多相关《PHP面试题.doc(15页珍藏版)》请在冰豆网上搜索。
PHP100面试题
1、PHP的意思?
答:
PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页
2、谈谈asp,php,jsp的优缺点?
ASP全名ActiveServerPages,是一个WEB服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。
ASP采用脚本语言VBScript(Javascript)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言.它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。
还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点()自由下载。
而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
JSP是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4也已经在Zend的支持下,实现编译运行).Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是Jsp--JavaServerPage。
Jsp可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
三者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
但JSP代码被编译成Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。
在ASP、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。
普通的HTML页面只依赖于Web服务器,而ASP、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。
程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。
ASP、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。
3、谈谈对mvc的认识?
答:
由模型(Model),视图(View),控制器(Controller)完成的应用程序
由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;
4、写出发贴数最多的十个人名字的SQL,利用下表:
members(id,username,posts,pass,email)
答:
SELECT*FROM`members`ORDERBYpostsDESClimit0,10;
5、GD库是做什么用的?
答:
gd库提供了一系列用来处理图片的功能,使用GD库可以处理图片,或者生成图片。
在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。
6、请写出数据类型(intcharvarchardatetimetext)的意思;请问varchar和char有什么别?
答:
int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串
char的场地固定为创建表设置的长度,varchar为可变长度的字符
7、写出以下程序的输出结果?
Php
$b=201;
$c=40;
$a=$b>$c?
4:
5;
echo$a;
?
>
答:
4
8、检测一个变量是否有设置的函数是?
是否为空的函数是?
答:
isset($str),empty($str);
9、取得查询结果集总数的函数是?
答:
mysql_num_rows($result);
10、$arr=array('james','tom','symfony');请打印出第一个元素的值?
答:
echo$arr[0];
11、PHP可以和sqlserver/oracle等数据库连接吗?
答:
可以
12、请写出PHP5权限控制修饰符?
答:
public(公共),private(私用),protected(继承)
13、请写出php5的构造函数和析构函数?
构造函数:
__construct
析构函数:
垃圾回收函数(__destruct)
14、表单中get与post提交方法的区别?
get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息
(1)get是从服务器上获取数据,post是向服务器传送数据。
(2)get是把参数数据队列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,在url中可以看到。
post是通过httppost机制,将表单内各个字段与其内容放置在htmlheader内,一起传送到action属性所指的url地址。
用户看不到这个过程。
(3)对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
(4)get传送的数据量较小,不能大于2KB。
Post传送的数据量较大,默认是2M,这是为了避免对服务器用大量数据进行恶意攻击。
可在php.ini中对post_max_size进行设置。
(5)get安全性非常低,post安全性较高。
但是执行效率却比post方法好。
(6)get是from的默认方法。
15、session与cookie的区别?
(1)从安全方面比较:
Session保存在服务器端,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。
Cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
(2)从存取方式上比较:
Session中保存的是对象,cookie中保存的是字符串。
(3)是否区分路径上比较:
Session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。
而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。
(4)从工作方式上比较:
Session需要借助cookie才能正常工作。
如果客户端完全禁止cookie,session将失效。
(5)从服务器性能方面比较:
Session会在一定时间内保存在服务器上。
当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。
设置时间要与cookie配合使用:
session_set_cookie_params=””;
Setcookie(名,值,时间终结点(时间戳),路径,作用域)
Setcookie(‘abc’,’123’,mktime+3600*24,”/”,);
16、用PHP打印出前一天的时间格式是2010-7-312:
28:
21?
答:
echodate('Y-m-dH:
i:
s',strtotime('-1days'));
17、echo(),print(),print_r()的区别?
答:
echo是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print()只能打印出简单类型变量的值(如int,string)
print_r()可以打印出复杂类型变量的值(如数组,对象)
echo输出一个或者多个字符串
18、能够使HTML和PHP分离开使用的模板?
答:
Smarty,TinyButStrong,XTemplate,Savant,TemplateLite,Dwoo,phemplate
19、使用哪些工具进行版本控制?
答:
cvs,svn,vss;
20、如何实现字符串翻转?
答:
echostrrev($a);//strrev--- 颠倒字符串
21、MYSQL取得当前时间的函数是?
格式化日期的函数是?
now(); date();
★22、对于大流量的网站,您采用什么样的方法来解决访问量问题?
答:
缓存(memcache高性能分布式缓存)、生成静态页面、提升服务器硬件性能,数据库读写分离(mysql_proxy),优化数据表、负载均衡及服务器集群、程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量
23、用PHP写出显示客户端IP与服务器IP的代码?
答:
打印客户端IP:
echo$_SERVER[‘REMOTE_ADDR’];或者:
getenv('REMOTE_ADDR');//getenv取得开发环境变量
打印服务器IP:
echogethostbyname("");//gethostbyname取得IP地址函数
24、语句include和require的区别是什么?
为避免多次包含同一文件,可用(?
)语句代替它们?
答:
require->require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require
include->include有返回值,而require没有(可能因为如此require的速度比include快)
注意:
包含文件不存在或者语法错误的时候require是致命的,include不是
★25、如何修改SESSION的生存时间?
.
答:
方法1:
将php.ini中的session.gc_maxlifetime设置为9999重启apache
方法2:
$savePath="./session_save_dir/";
$lifeTime=小时*秒;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();
方法3:
setcookie()andsession_set_cookie_params($lifeTime);
26、有一个网页地址,比如PHP开发资源网主页:
答:
方法1(对于PHP5及更高版本):
$readcontents=fopen(""rb");
$contents=stream_get_contents($readcontents);//stream_get_contents 取得字符串赋值给$contents
fclose($readcontents);
echo$contents;
方法2:
echofile_get_contents("
//file_get_contents()函数把整个文件读入一个字符串中。
27、在HTTP1.0中,状态码401的含义是(?
);如果返回“找不到文件”的提示,则可用header函数,其语句为?
答:
状态401代表未被授权,header("Location:
www.xxx.php");
28、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?
答:
heredoc的语法是用"<<<"加上自己定义成对的标签,在标签范围內的文字视为一个字串
例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 试题