PHP面试题

来源:互联网 发布:浙江大数据交易中心 编辑:程序博客网 时间:2024/06/06 01:59

1、表单中post与get提交方法的区别?

     1. get是发送请求HTTP协议通过url参数传递参数接收,而post是实体数据,可以通过表单提交大量信息。

     2. get安全性比较差,post安全性比较好, get传输数据较小,,post传输数据较多。

     3. 当我们使用get时,所有信息都会显示在url地址中,并且使用get方法最多只能传递1024字符,所以get方法适用于传输量较少,且数据安全不是很重要的情况。而post方法,没有信息会显示在url地址上,相对安全,且最多可以传输2MB字节的数据,这个数字还可以根据需要增加。


2、 session和cookie的区别?

     1. cookie数据存放在客户的浏览器上,session数据放在服务器上。

     2. cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用cookie。

     3. session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie。

     4. 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

     5. 所以个人建议:

         1. 将登录信息等重要信息保存放为session。

         2. 其它信息如果需要保存,可以放在cookie中。


3、数据库的事务是什么?

     1. 事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据项的一个程序执行单元(unit)。在计算机术语中,事务通常就是指数据库事务。

     2. 概念: 一个数据库事务通常包含对数据库进行读或写的一个操作序列。它的存在包含有以下两个目的 :

         1. 为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供额数据库即使在异常状态下仍能保持一致性的方法。

         2. 当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。

    

简述题


4、用PHP打印出前一天的时间格式是?

     echo data('Y-m-d H:i:s',Time()-24*3600)


5、echo(),print(),print_r()的区别?

     echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输入echo会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。

     print  是打印字符串,print_r则是打印复合类型,如数组,对象。


6、能够使HTML和PHP分离开始用的模板?

     Smarty、Template Lite、Dwoo、XTemplate


7、使用哪些工具进行版本控制?

     svn、cvs


8、如何实现字符串翻转?

     echo strreb("123");   // 输入 "321";


9、优化MYSQL数据库的方法?

     创建索引、复合索引、索引不会包含有NULL值得列、使用短索引、排序的索引问题、like语句操作、不要在裂伤进行运算、不适用NOT IN和<>操作


10、MYSQL取得当前时间的函数是?格式化日期的函数是?

    now() 函数返回当前的日期和时间;

    格式化日期: DATE_FORMAT(date,format) 函数用于以不同的格式显示日期/时间数据。