当使用php向数据库中写入或者读取数据时,若在进行操作前对字符串进行一些处理,如:过滤处理,可能会导致某些数据库语句因为特殊的字符引起的污染而出现致命的错误。为此,php中提供了一个“魔法开关”—–magic_quotes_gpc。(该开关已在5.4.0版本被删除,始终置为off)
当magic_quotes_gpc = on时,从外部post、get、cooki过来的数据都会在预定义字符之前添加”\“。
2024年08月18日
当使用php向数据库中写入或者读取数据时,若在进行操作前对字符串进行一些处理,如:过滤处理,可能会导致某些数据库语句因为特殊的字符引起的污染而出现致命的错误。为此,php中提供了一个“魔法开关”—–magic_quotes_gpc。(该开关已在5.4.0版本被删除,始终置为off)
当magic_quotes_gpc = on时,从外部post、get、cooki过来的数据都会在预定义字符之前添加”\“。
2024年08月18日
PHP是一门非常优秀的脚本编程语言,与其它编程语言有一个非常不同的地方,那就是魔术方法,PHP有非常多的魔术方法用于实现一些非常不可思议的功能。
啥是PHP的魔术方法?
在定义类时,以两个下划线字符(__)开头的方法都是魔术方法,而且方法名都是PHP预先定义好的,每一个都拥有魔术般的功能。我们自己在定义方法时,不建议使用两个下划线字符开头,这样会与PHP的魔术方法混淆。
2024年08月18日
删除节点的代码:
classes.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<班级>
<学生>
<名字>张三</名字>
<年龄>24</年龄>
<介绍>学习认真刻苦</介绍>
</学生>
<学生>
<名字>李四</名字>
<年龄>38</年龄>
<介绍>是一个优秀学生</介绍>
</学生>
</班级>
2024年08月18日
PHP是一门解释性弱类型的高级编程语言,自诞生以来就一直秉着大道至简,一切从易的原则。所以PHP对于编程入门来说,是一门十分容易上手且能很快投入开发工作中的编程语言。也正因为如此,导致PHP的从业者们良莠不齐,也就产生了“PHP是世界上最好的语言”的调侃。
2024年08月18日
Fatal Error:Allowed memory size of xxxxxx bytes exhausted
服务器很多自动任务的php脚本占用服务内存过多,并且程序不在运行了。
解决方法:
在运行PHP程序,通常会遇到“Fatal Error:Allowed memory size of xxxxxx bytes exhausted”的错误, 这个意味着PHP脚本使用了过多的内存,并超出了系统对其设置的允许最大内存。解决这个问题,首先需要查看你的程序是否分配了过多的内存,在程序没有问题的情况下,你可以通过以下方法来增加PHP的内存限制(memory_limit)。
2024年08月18日
学过静态语言开发的朋友对类型转换不会陌生,比如Java、C#、C++等。静态语言的好处就是变量强制必须指定类型,这也是编译的要求,所以大部分编译型的语言都会有强制变量类型的要求。而PHP据说也会在PHP8中加入JIT实现编译功能,并且在7.4中就会引入变量声明时的类型指定。下面我们先看看目前PHP中的参数类型及返回值类型的使用。
2024年08月18日
1.文件系统安全
php如果具有root权限,且在脚本中允许用户删除文件,那么用户提交数据,不进行过滤,就非常有可能删除系统文件
2024年08月18日
一、内存管理机制
先看一段代码:
<?php //内存管理机制 var_dump(memory_get_usage());//获取内存方法,加上true返回实际内存,不加则返回表现内存 $a = "laruence"; var_dump(memory_get_usage()); unset($a); var_dump(memory_get_usage()); //输出(在我的个人电脑上, 可能会因为系统,PHP版本,载入的扩展不同而不同): //int 240552 //int 240720 //int 240552
2024年08月18日
在php8中,与变量相关的内置函数比较多,本文说一些比较重要的、常见的内置函数。今日着重讲解了5个,分别是:检测变量是否为空的函数empty()、判断变量是否定义过的函数isset()、销毁指定的变量的函数unset()、获取变量的类型的函数gettype()、检查变量是否为数字或数字字符串的函数is_numeric()。