首页
关于小站
朋友
壁纸
留言
时光之书
笔顺字帖
LayUI手册
Search
1
【PHP】PHPoffice/PHPSpreadsheet读取和写入Excel
1,785 阅读
2
【Layui】控制页面元素展示隐藏
1,602 阅读
3
【Git】No tracked branch configured for branch master or the branch doesn't exist.
1,561 阅读
4
【PHP】PHP实现JWT生成和验证
1,483 阅读
5
【composer】composer常用命令
1,357 阅读
默认分类
PHP
ThinkPHP
Laravel
面向对象
设计模式
算法
基础
网络安全
webman
Web
HTML
CSS
JavaScript
jQuery
Layui
VUE
uni-app
Database
MySQL
Redis
RabbitMQ
Nginx
Git
Linux
Soft Ware
Windows
网赚
Go
Docker
Elasticsearch
登录
Search
标签搜索
PHP
函数
方法
类
MySQL
ThinkPHP
JavaScript
OOP
Layui
Web
Server
Docker
PHPSpreadsheet
PHPoffice
Array
设计模式
Nginx
Git
排序算法
基础
小破孩
累计撰写
256
篇文章
累计收到
13
条评论
首页
栏目
默认分类
PHP
ThinkPHP
Laravel
面向对象
设计模式
算法
基础
网络安全
webman
Web
HTML
CSS
JavaScript
jQuery
Layui
VUE
uni-app
Database
MySQL
Redis
RabbitMQ
Nginx
Git
Linux
Soft Ware
Windows
网赚
Go
Docker
Elasticsearch
页面
关于小站
朋友
壁纸
留言
时光之书
笔顺字帖
LayUI手册
搜索到
3
篇与
的结果
2022-09-01
【PHP】PHP错误级别
在php编程过程中,大家一定会遇到或多或少的错误提醒,也正是这些错误提示,指引我们编写更加干净的代码,今天先写出我们主要列出的错误类型,先挖坑,写关于php错误与异常的相关知识,慢慢填坑。Deprecated最低级别错误,程序继续执行Notice 通知级别的错误 如直接使用未声明变量,程序继续执行 Warning 警告级别的错误,可能得不到想要的结果 Fatal error 致命级别错误致命级别错误,程序不往下执行 parse error 语法解析错误,最高级别错误,连其他错误信息也不呈现出来 E_USER_相关错误 用户设置的相关错误利用trigger_error()函数设置一个用户级别的 error/warning/notice 信息如何设置错误级别? error_reporting(-1)显示所有错误,error_reporting(0)屏蔽所有错误。ini_set('error_reporting',0)也是屏蔽所有错误。可以在php.ini文件中设置error_reporting来使脚本显示或不显示某些错误。ini_set('display_errors','On')显示错误。 注意:error_reporting()设置报告何种错误,而ini_set('display_errors','On')设置是否在输出错误。因而error_reporting(-1)和ini_set('display_errors',0)可用作设置日志:报告错误并且不输出。 举例:error_reporting(E_ALL&~E_NOTICE)不显示通知级别的错误。“~”表示非。
2022年09月01日
336 阅读
0 评论
0 点赞
2022-06-21
【PHP】GET和POST传输方式的区别
Get方式是从服务器上获取数据,在数据查询时,建议用Get方式;如商品信息接口、搜索接口等Post方式是向服务器传送数据,做数据添加、修改或删除时,建议用Post方式,如登录注册接口等。1、GET是用来从服务器上获取数据,而POST是用来向服务器上传递数据。2、GET将表单中数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接;而各个变量之间用“&”连接。POST是将表单中的数据放在FORM数据体中,按照变量和值相对应的方式,传递到Action指向的URL中。3、GET是不安全的,因为在传输过程,数据被放在请求的URL中,而如今很多服务器或代理服务器会把请求的URL放到日志文件中,这样会有一些隐私信息会被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息会一同显示在用户面前。POST的所有操作对用户来说是不可见的。4、GET传输的数据量小,主要是受URL长度限制,而POST可以传输大量数据,所以上传文件只能使用POST。5、GET限制FORM表的数据集的值必须为ASCII字符,而POST支持整个ISO10646字符集。Post和Get的区别:1)Get请求只是简单的获取数据,不修改请求的资源;而POST请求会修改请求的资源。导致的后果说相同的GET请求能获取相同的资源,而POST不能保证获取相同的资源。2)GET请求的参数在HTTP中是通过URL传递的,而POST请求的数据是通过requestbody传递的。3)GET请求资源在服务器上能够缓存,POST请求就不能够了。4)GET请求的参数的数据长度是有限制的,而POST请求的数据长度没有限制。5)GET请求无法传递二进制数据到服务器上,而POST可以。1、GET参数通过URL传递,POST放在REQUEST BODY中。2、GET请求在URL中传递是有长度限制的,而POST没有。3、GET比POST更不安全,因为参数直接暴露在URL中,所以不能传递敏感信息。4、GET请求只能进行URL编码,而POST支持多种编码方式。5、GET请求参数会完整保留在浏览器历史记录中,而POST中的参数不会被保留。Get和POST请求有什么区别?1、get比post更不安全2、get传输的数据长度比post小3、get通过在URL后拼接字符串的形式传递参数,post将参数放在RequestBody中4、get产生一个TCP数据包;post产生两个TCP数据包。(get会把 httpheader 和 data 一起发送给服务器,服务器会响应200,post会先把httpheader发送给服务端,服务端响应100,提示客户端继续发送。浏览器接着发送data给服务端。最终服务端响应200)5、get请求可以被缓存起来,post不行
2022年06月21日
317 阅读
0 评论
0 点赞
2022-06-19
【PHP】PHP易混淆函数区别(面试题常见)
1、echo、print、print_r/var_dump的区别 echo():可以一次输出多个值,多个值用逗号隔开,echo是语言结构,而并不是真正的函数,因此不 能作为表达式的一部分使用。 print():打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false print_r():可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头 var_dump():判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一 个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。2、include、include_once、require、require_once的区别 include():使用include应用外部文件时,只有代码执行到include语句时,外部文件才会被引入并读取,当所引用的外部文件 发生错误时,系统只给出一个警告,而整个php文件则继续向下执行。 include_once():使用include_once语句会在导入文件前先检测该文件是否在该页面的其他部分被应用过,如果有,则不会重复 引用该文件,程序只能引用一次。 require():使用require语句来调用文件时,如果调用的文件没找到,require语句会输出错误信息,并且立即终止脚本处理 require_once():使用require_once语句时,会先检查要引用的文件是不是已经在该程序中的其他地方被引用过,如果有,则不 会在重复调用该文件,在同一个页面中引用了两个相同的文件,那么在输出时,只有第一个文件被执行,第二次引用的文件 则不会被执行。3、empty、isset、is_null的区别 empty:如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE isset: 检测变量是否设置;如果 var 存在则返回 TRUE,否则返回 FALSE。如果已经使用 unset() 释放了一个变量之后,它 将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。 is_null:当参数满足下面三种情况时,将返回TRUE,其它的情况就是FALSE。 * 它被赋值为NULL * 它还没有赋值 * 它未定义,相当于 unset(),将一个变量 unset()后,不就是没有定义吗 $myvar = NULL; var_dump(is_null($myvar)); // TRUE $myvar1; var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable $num = 520; unset($num); var_dump(is_null($num)); //TRUE Notice: Undefined variable var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable $myvar = 0; is_null($myvar); // FALSE $myvar = FALSE; is_null($myvar); // FALSE $myvar = ''; is_null($myvar); // FALSE4、双引号和单引号的区别一般情况下两者是通用的.但双引号内部变量会解析,单引号则不解析.双引号中的变量和特殊字符 (\r\n) 会被转义,单引号中的内容不会被转义5、session和cookie的区别(1)cookie数据存放在客户的浏览器上,session数据放在服务器上。 (2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。 (3)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 (4)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE6、get和post的区别(1)GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接; (2)POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。 (3)GET请求在URL中传送的参数是有长度限制的,而POST没有。 (4)POST相对于GET更加安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。7、传值与传引用的区别传值:把实参的值赋值给形参,对形参的修改不会影响到实参的值 传引用:真正的以地址的方式传递参数,传递以后,行参和实参都是同一个对象,对行参的修改将影响实参的值 8、==和===的区别、“!==”与“!=”的区别===比较两个变量的值和类型;==比较两个变量的值,不比较数据类型。9、->和=>的区别->用来引用对象的成员(属性与方法) =>只用来数组赋值10、?? 与 ?:区别?? :用于判断并赋值,先判断当前变量是否为null,如果是就可以赋一个新值 ?:常用于三元运算符,问号的作用是选择条件作为程序继续执行的分支11、跳出循环:exit、return、break、continue之间的区别 exit:用来结束程序执行的。可以用在任何地方,本身没有跳出循环的含义。 return: (1)从当前的方法中退出,返回到该调用的方法的语句处,继续执行。 (2)返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。 (3)return 后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。 break: (1)当它在循环体内,强行结束循环的执行,也就是结束整个循环过程,不在判断执行循环的条件是否成立,直接转 向循环语句下面的语句。 (2)当它出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。 continue:终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。12、function_exists、method_exists、class_exists、property_exists、is_subclass_of 的区别 function_exists( string $function_name ) : 函数用于检测函数是否被定义,检测的函数可以是 PHP 的内置函数,也可以 是用户的自定义函数。如果被检测的函数存在则返回 TRUE ,否则返回 FALSE 。 method_exists ( mixed $object , string $method_name ) :检查类的方法是否存在于指定的 object中。如果检测的方法存 在与指定的对象中,则返回true,否则返回false。 class_exists ( string $class_name [, bool $autoload = TRUE ] ) :检查类是否被定义。第一个参数为检测的类名(如果 使用了命名空间后,需要使用完整的带命名空间的类名,如:app\admin\service\UserService ); class_exists()会默认将 会尝试调用 _autoload,如果不想让 class_exists() 调用_autoload,可以将 autoload 参数设为 FALSE。 property_exists([mixed] $class,string $property):判断类或对象中的属性是否存在(可无视属性权限),存在返回true, 否则返回false,$class 可以是类名(字符串)或类对象,$property为属性的名字 is_subclass_of ( object $object , string $class_name ):判断一个对象是否为一个类的子类,返回bool值13、PHP四种网页重定向方式 header('location:http://www.baidu.com'); echo '<meta http-equiv="refresh" content="1;http://www.baidu.com">'; echo '<script>window.location.href="http://www.baidu.com"</script>'; echo file_get_contents('http://www.baidu.com');14、php三种合并数组的方式 array_merge($arr, $arr_1); // 合并数组,如果健名为整数,键名会从 0 开始进行重新索引。 array_merge_recursive($arr, $arr_1); // 递归合并数组,不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组 $arr + $arr_1 // 保留键名,追加数组转载:https://www.kancloud.cn/chunyu/php_basic_knowledge/767174
2022年06月19日
273 阅读
0 评论
0 点赞