PHP面试常用知识
PHP基础知识,新人必备,老人必会。如果你忘记了,就赶紧拾起来吧。PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。PHP面试常用知识有哪些?下面是相关的知识,欢迎阅读。
1、php时间处理
a、获取前一天 echo date(‘Y-m-d H:i:s’, strtotime(“-1 day”))
b、某个时间的前一天
$date = new DateTime(now());
$date->add(new DateInterval(P10D));
$date->sub(new DateInterval(PT1440M));
2、字符串翻转 strrev
3、mysql关于时间的函数 now() month() year day dayofweek()
4、截取中文无乱码的方法
5、客户端、服务器变量
$_SERVER[‘remote_addr’] $_SERVER[’SERVER_ADDR’]
5.1 是否为代理
5.2判断是否为ajax请求
isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH']==='XMLHttpRequest';
6、session设置过期时间
session_set_cookie_params(24*3600);
7、常用排序函数
sort rsort ksort krsort natsort
8、字符串的.处理,常用数组相关
explode implode
9、常用的html标签处理函数
htmlentities 标签转换为"等
html_entity_decode 转换回来
addslashes
阅读安全那一章节
9.2 入数据库前的处理
mysql_real_escape_string();
10、内存相关函数
memory_get_usage()
memory_get_peak_usage()
memory_limit限制内存使用
11、获取客户端ip,要考虑代理
if($_SERVER[‘http_x_forwarded_for’] != ‘’){
$clientIp = !empty($_SERVER[‘REMOTE_ADDR’]) ? $_SERVER[‘REMOTE_ADDR’] : !empty($_ENV[‘REMOTE_ADDR’]) ? $_ENV[‘REMOTE_ADDR’] : ‘unknown’;
}
12、验证电子邮件
echo preg_match(‘/^[w-.]+@[w-.]+[.w+]+$/’, $email);
13、文件扩展名
parse_url PHP_URL_SCHEMAPHP_URL_HOSTPORTPATHQUERYFRAGEMENT
pathinfo basenameextensionfilenamedirname
basename 正则
14、strrchr(str, $delimiter)
HTTP常用知识点
15、http协议常用code
16、http1.1与http1.0的区别
增加了长连接以及复用链接的tcp技能,增加了host(虚拟), cache_control,
16.2 http请求头信息
host,url,method,accept_language,content_length,user_agent,code,cache_control,tag,expire,server
17、enctype=‘multipart/form-data’
18、setcookie(name,value,expire,path,domain)
19、时区设置 date_default_timezone_set(‘Asia/shanghai’)
或者中修改_zone
20、查看的位置
phpinfo() | grep
21、slowlog在中设置
request_slowlog_timeout=1s
slowlog=/path/to/
22、魔术方法
__SET, __GET, __CALL, __toString, __construct, __destruct, __set, __isset, __unset, __autoload, __clone
23、static静态绑定
24、安全模式对系统函数的影响
之所以有安全模式,是为了试图去解决共享web服务器问题而产生的,避免注入脚本去执行脚本等。但即使禁止了php脚本,
攻击人员仍可以使用perl脚本,所以从5.4版本起被废除。
只要影响系统文件相关操作,会判断文件的owner跟当前owner是否为同一个,为同一个则执行。
25、php中垃圾回收机制
首先变量超出自己的作用域会被自动回收内存,也可以使用unset主动释放内存。一次web请求结束后,程序中对象占用的内存也会被释放掉。
26、为何对象支持foreach,原理是啥?
foreach一个对象,是因为对象实现了Iterator接口,或者子接口ArrayIterator。
foreach时实际调用被循环对象的相关方法实现的,接口方法有rewind,next,current,key,valid
27、安全写一个文件
function write_file($filename, $content){
$file = fopen($filename, 'w+');
while(!flock($file, LOCK_EX)){
}
fwrite($file, $content);
fclose($file);//会释放锁
}
-
PHP如何使用curl发送GET和POST请求
导语:PHP如何使用curl发送GET和POST请求,具体详情请阅读下面代码,更多详情请关注应届毕业生考试网。使用CURL发送请求的基本流程使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤:1.初始化连接句柄;2.设置CURL选项;3.执行并获取结果;4.释放VURL连接句柄。...
-
PHP代码如何规范
对于PHP入门学习的童鞋来说,基础是很重的,一定要打好基础。那么大家知道PHP代码如何规范呢?下面一起来看看!了解PHP开发规范可以少走很多弯路,网上各种PHP开发规范也很多,我结合自身使用PHP的情况,来说说我所理解的PHP开发规范,涉及多个方面,比如PHP代码规范、PHP文件...
-
如何运用PHP实现字符串逆序排列
如何运用PHP实现字符串逆序排列呢?下面是小编给大家提供的实现方法,大家可以参考练习,更多详情请关注应届毕业生考试网。关于字符串的逆序排列,最简单的使用PHP函数strrev()的测试代码如下:header('Content-type:text/html;charset=utf-8');$str=implode(&...
-
PHP字符串函数大汇总
我们大家知道无论哪种编程语言,字符串操作都是一个重要的基础,往往是简单而重要。PHP给我们提供了大量的字符串操作函数,功能强大,使用也比较简单,在这里小编为大家总结九类字符串函数。1.查找字符位置函数strpos($str,search,[int]):查找search在$str中的第一次位...