提问频率最高的12个php面试题,以及对应的常规回答。

1、问题:请用最简单的语言告诉我php是什么?
回答:php全称:hypertext preprocessor,是一种用来开发动态网站的服务器脚本语言。

2、问题:什么是mvc?
回答:mvc由model(模型), view(视图)和controller(控制器)组成,php mvc可以更高效地管理好3个不同层的php代码。
model:数据信息存取层。
view:view层负责将应用的数据以特定的方式展现在界面上。
controller:通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

3、问题:在页面中引用css有几种方式?
回答:在页面中使用css有3中方式:
引用外部css文件
内部定义style样式
内联样式

4、问题:php支持多继承吗?
回答:不可以。php类只能继承一个父类,并用关键字“extended”标识。

5、问题:请问php中echo和print有什么区别?
这两个看起来很相似,因为它们都是将一些值打印在屏幕上。但是echo和print的本质区别在于:echo用来输出字符串,显示多个值的时候可以用逗号隔开。只支持基本类型,print不仅可以打印字符串值,而且可以打印函数的返回值。

6、问题:请问get和post方法有什么区别?
回答:我们再网页上填写的表单信息都可以通过这两个方法将数据传递到服务器上,当我们使用get方法是,所有的信息都会出现在url地址中,并且使用get方法最多只能传递1024个字符,所以如果在传输量小或者安全性不那么重要的情况下可以使用get方法。说到post方法,最多可以传输2mb字节的数据,而且可以根据需要调节。

7、问题:php中获取图像尺寸大小的方法是什么?
回答:getimagesize () 获取图片的尺寸
imagesx () 获取图片的宽度
imagesy () 获取图片的高度

8、问题:php中的pear是什么?
回答:pear也就是为php扩展与应用库(php extension and application repository),它是一个php扩展及应用的一个代码仓库。

9、问题:如何用php和mysql上传视频?
回答:我们可以在数据库中存放视频的地址,而不需要将真正的视频数据存在数据库中。可以将视频数据存放在服务器的指定文件夹下,上传的默认大小是2mb,但是我们也可以在php.ini文件中修改max_file size选项来改变。

10、问题:php中的错误类型有哪些?
回答:php中遇到的错误类型大致有3类。
提示:这都是一些非常正常的信息,而非重大的错误,有些甚至不会展示给用户。比如访问不存在的变量。
警告:这是有点严重的错误,将会把警告信息展示给用户,但不会影响代码的输出,比如包含一些不存在的文件。
错误:这是真正的严重错误,比如访问不存在的php类。

11、问题:如何在php中定义常量?
回答:php中使用define () 来定义常量。
define (“newconstant”, 30);
问题:如何不使用submit按钮来提交表单?

12、问题:如何不使用submit按钮来提交表单?
如果不想用submit按钮来提交表单,可以用超链接来提交:
<a href=”javascript: document.myform.submit();”>Submit Me</a>

1、PHP的意思,它能干些什么? 
PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页,英文的全称(Professional Home Pages) 1、WEB开发、实现订单、网络通信、在线支付、一切互联网可以实现的工作。
2、脚本的开发,Shell 脚本、 windows的计划任务等
3、软件的开发,PHP-GTK等第三方的软件,使用php语法配合其他的语言开发软件

2、谈谈对mvc的认识?
由模型(Model),视图(View),控制器(Controller)完成的应用程序
由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;参考《PHP100视频教程》43、44、75、76、77讲

3、GD库是做什么用的? 
GD库提供了一系列用来处理图片的功能,使用GD库可以处理图片,或者生成图
片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据
生成报表。现在常用的GD2功能更强大,可以实现对gif、png图片的处理

4、数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么别?
int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串 ,char的场地固定为创建表设置的长度,varchar为可变长度的字符 

5、表单中 get与post提交方法的区别?
get是发送请求HTTP协议通过url参数传递进行接收
而post是实体数据,可以通过表单提交大量信息. 

6、session与cookie的区别?
session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的一般
用于后台和安全性比较高的地方。cookie:是存储在客户端,对于Cookie来说是存储在用户浏览器下面的,一般用户
登陆,负载压力比较大的地方。可以减轻服务器的负载。 

7、echo(),print(),print_r()的区别? 
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值print() 只能打印出简单类型变量的值(如int,string) 
print_r() 可以打印出复杂类型变量的值(如数组,对象) 
Echo 输出一个或者多个字符串

8、什么是模板技术、能够使HTML和PHP分离开使用的模板? 
模板技术就是使PHP和HTML、CSS、JS 分离,实现更加合理和代码的部署Smarty ,XTemplate, Template Lite, Easy Template…

10、对于大流量的网站,您采用什么样的方法来解决访问量问题?
确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,
程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量
1、PHP程序上可以使用生成静态文件实现服务数据库压力
2、使用PHP缓存技术、或第三方的mamcached 等缓存技术实现服务器压力参考《PHP100视频教程》samrty缓存技术、mamcached缓存用法

11、include和require的区别是什么?为避免多次包含同一文件可用什么代替它们? 
包含文件不存在或者语法错误的时候require是致命的,include不是 require需要放在头部预先载入,而include放在文件的任何位置随时载入
还有一对扩展函数:require_once() include_once() 

12、mysql_fetch_row() 和mysql_fetch_array之间有什么区别? 
mysql_fetch_row 是从结果集取出1行数组,作为枚举
mysql_fetch_array 是从结果集取出一行数组作为关联数组,或数字数组,两者兼得.

13.不用数据库,验证登陆的用户名和密码
提交数据时把数据存储在本地cookie下,或都把它存储在某一文件内(用php生成)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值