1、__FILE__表示什么意思?
__FILE__:当前文件的完整路径和文件名
__LINE__:当前行
__DIR__:当前文件所在的目录
2、如何获取客户端的IP地址?
通过超全局数组$_SERVER:echo $_SERVER['REMOTE_PORT'];
3、写出使用header函数跳转页面的语句?
header("Location: https://www.baidu.com");
header("HTTP/1.0 404 Not Found");
4、$str是一段html文本,使用正则表达式去除其中的所有js脚本?
$str= "<body><div>html</div></body><script type='application/json'>alert(111);</script>"; . 匹配出换行符以外的所有字符 \n 匹配换行 * 匹配子表达式零次或多次 (.|\n) 匹配script标签里面的所有数据 .* 匹配script里面的参数 +匹配一次或多次 1.正则表达式(匹配出js) $reg="/<script.*>(.|\n)+<\/script>/"; 2.正则替换(用空格替换) $res=preg_replace($reg,"",$str); echo $res;
5、写出将一个数组里的空值去掉的语句
$arr = [1,"",3];
$newArr=[]; foreach ($arr as $v){ if (!empty($v)){ $newArr[]=$v; } } var_dump($newArr);
6、写出获取当前时间戳的函数,及打印前一天的时间的方法(格式:年-月-日 时:分:秒)
$day=time()-24*60*60; echo date("Y-m-d H:i:s",$day); echo "<br>"; echo date("Y-m-d H:i:s",strtotime("-1 day"));
7、写出php进行编码转换的函数
iconv(转换的编码,转换后的编码,需要转换的) 返回结果: 返回转换后的字符串,失败返回false $str = "你好hh"; echo strlen($str); $str1=iconv("UTF-8","GBK",$str); echo $str1;
8、$str = “1,3,5,7,9,10,20”,使用什么函数可以把字符串str转化为包含各个数字的数组?
$str = "1,3,5,7,9,10,20"; $arr=explode(",",$str); var_dump($arr);
9、serialize() /unserialize()函数的作用
序列化是将变量转换为可保存或传输的字符串的过程
反序列化就是在适当的时机把字符串再转换为变量
注意:序列化对象无法序列化对象的方法
class Person
{
public $name="jack";
public function test()
{
echo "测试方法";
}
}
$person=new Person();
$ser=serialize($person);
var_dump($ser);
echo "<br>";
$unser=unserialize($ser);
var_dump($unser);
10、写出一个函数,参数为年份和月份,输出结果为指定月的天数
function monthDay($year,$month) { echo date("t",strtotime($year."-".$month."-1")); } monthDay(2020,6);
11、一个文件的路径为/wwwroot/include/page.class.php,写出获得该文件扩展名的方法
$str="/wwwroot/include/page.class.php";
echo $str;
echo "<br>";
$arr=pathinfo($str);
//获取文件后缀
//$arr=pathinfo($str,PATHINFO_EXTENSION);
echo "<pre>";
var_dump($arr);
echo "<br>";
//获取文件后缀
echo $arr["extension"];
echo "<br>";
//获取文件目录
echo pathinfo($str,PATHINFO_DIRNAME);
echo $arr["dirname"];
echo "<br>";
//获取文件中的文件全名
echo $arr["basename"];
echo "<br>";
//获取文件的文件名
echo $arr["filename"];
12、你使用过哪种PHP的模板引擎?
smarty优点 1.速度快,相对其它模板引擎 2.编译新,采用smarty编写的程序在运行是编译成一个非模板技术的php文件 3.缓存技术,它可以将用户最终看到的html文件缓存成一个静态的html页面 4.插件技术,smarty可以自定义插件
13、请简单写一个类,实例化这个类,并写出调用该类的属性和方法的语句
class Person
{
public $name="jack";
public function test()
{
echo "测试方法";
}
}
$person=new Person();
$person->test();
echo $person->name;
14、本地mysql数据库db_test里已建有表friend,数据库的连接用户为root,密码为root
friend表字段为:id,name,age,gender,phone,email
请使用php连接mysql,选择出friend表里age > 20的所有记录打印结果,并统计出查询出的结果总数。
$pdo=new PDO("mysql:host=localhost;dbname=db_test","root","root");
$sql="select * from friend where age>20";
$query=$pdo->query($sql);
$res=$query->fetchAll();
echo "<pre>";
var_dump($res);
echo "<br>";
echo count($res);
15.print,echo,print_r有什么区别.
echo 输出字符串,不是函数,没有返回值,echo 输出相对print更快 print 是一个函数,有返回值, print_r 打印出复合类型,数组,对象 var_dump 输出数组 还会字符长度,类型,数据
16.require和include区别
include 报严重警告,还会继续执行后面的程序
require 报致命错误,不会继续执行
17.SESSION 与 COOKIE的区别是什么,请从协议,产生的原因与作用说明?
http协议是无状态的协议
Session 在服务器上,默认是以文件形式存储
Cookie客户端上,不同的浏览器存储的数量和数据大小不一样