51qsx 发表于 2018-12-24 09:36:48

PHP面试01

  1、表单中get和post的区别
  (1)get是从服务器获取数据,post是向服务器传送数据;
  (2)get是将数据通过URL传送,post则是通过HTTP post机制;

  (3)get传送的数据量较小,post可以传送的数据量较大;

  (4)get安全性低,post安全性高,效率上get比post要好;
  (5) 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
  2、session与cookie的异同
  session是为了弥补Web服务无状态会话的一个服务器端保存的一个临时用户数据,根据这个数据,服务器可以重建用户会话信息。
cookie是为了适应本地脚本临时数据存储和与服务器端交互进行会话认证的数据保持功能

简单的说,session需要启用cookie才能正常的使用。

如果脱离服务器端只考虑初期HTML+脚本的方式来考虑的话,压根就没有session的文件,因为是静态的页面,不会与服务器发生后续关系(抛开ajax的请求)。所以cookie也就成为脚本运行的本地存储文件。cookie的存在形式为“键名=键值”,以“;"分隔。

持续时长的区别:
cookie有一个定义的时长,超过时长,浏览器将认为过期,会弃用并删除此cookie文件。因此即使服务器端的Session仍存在,因为cookie信息已经丢失,无法找回对应的PHPSESSID的值而无法实现会话的重建。如果不定义超时时长,则在关闭浏览器时自动失效。
session可以指定存在期限,如果超过存在时限之前,此COOKIE中PHPSESSID值对应的Session有过请求会自动延长时长,直到超过时长未请求后会通过回收机制进行清除,但不完全保证可以正常回收。如果被回收后,即使本地仍存有cookie文件,但由于对应PHPSESSID的Session文件已不存在,所以也无法重建会话。
  3、用PHP打印时间格式为2014-2-1 13:22:22的前一天
  echo date("Y-m-d H:i:s","-1day");
  4、echo()、print()、print_r()、printf()的区别
  echo可以一次输出多个值,是PHP语句,没有返回值
  print是函数,有返回值可以打印简单类型的值
  print_r是函数,可以打印复杂类型变量的值,如数组,对象等
  printf源自C语言,可以输出格式化的字符串
  5、分离HTML和PHP的模板
  Smarty、Dwoo、Savant、TinyButStrong
  6、版本控制工具
  SVN、git、CVS、vss

  7、如何实现字符串的翻转
  echo strrev($a);
  8、优化mysql数据库的方法
  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  





页: [1]
查看完整版本: PHP面试01