php技巧

php双向队列实例讲解

2021-11-02
1.双向队列是指一种具有队列和栈的性质的数据结构. 2.双向队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行. 双向队列就像是一个队列,但是你可以在任何一端添加或移除元素. 实例 <?php class DoubleQueue { public $queue = array(); /**(尾部)入队 **/ public function addLast($value) { return array_push($this->queue,$value); } /**(尾部)出队**

如何解决php-fpm启动不了问题

2021-11-01
1.重新下载一个64位的"ZendGuardLoader.so". 2.将其放到"/usr/local/zend/"下. 3.重新执行"lamp php-fpm start"即可. 修复步骤 用file命令查看当前的ZendGuardLoader.so的文件信息,可以看到当前so文件为32位的文件. test@ubuntu:/usr/local/zend$ file ZendGuardLoader.so ZendGuardLoader.so: E

php修改word的实例方法

2021-10-31
1.将word另存为网页. 2.修改为默认页面视图. 3.编写php代码. 4.通过fwrite等函数修改Word内容即可. 实例 ob_start();//开启缓存 print'';//输出头部 $content = file_get_contents (S_ROOT.'./temp/word/jzydt.htm');//取得模板内容 $content = str_replace('<{jzydt_company_name}>',"400电话",$content);//经

php去除deprecated的实例方法

2021-10-28
1.找到并打开"php/php.ini"文件. 2.修改内容为"error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING"即可. 去掉PHP的中警告(warning).deprecate等提示的方法 打开php/php.ini: 修改 error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED 为 error_r

php去除数组中为0的元素的实例分析

2021-10-26
1.利用array_diff()函数来去除数组中为0的元素. 2.该函数用于比较两个数组的值并返回差集,只需要使用一个包含"0"数组和原数组进行比较即可.语法格式"array_diff($arr, [0])". 实例 <?php // 清除数组中指定元素 $arr = [1,2,3,0,1]; $arr = array_diff($arr, [0]);//输出[1,2,3,1] var_dump($arr); ?> 内容扩展: 在实现移除数组中项目为空的

php png失真的原因及解决办法

2021-10-24
1.创建一个PHP示例文件. 2.创建一个和背景图片一样大小的真彩色画布. 3.复制背景图片. 4.通过"imagecreatefrompng"合成png图片即可. 实例 <?php ob_clean(); $bg = "image1.png"; $image_1 = imagecreatefrompng($bg); $bgx = imagesx($image_1); $bgy = imagesy($image_1); //创建一个和背景图片一样大小的真彩色画

php实例化对象的实例方法

2021-10-23
想要将类实例化成对象,只是多了一个简单的小步骤,需要使用new关键字并且在后面加上一个和类名同名的方法就可以了.表明一个新的对象. 需要注意的是,当实例化对象不需要为对象传递参数时,在new关键字的后面直接使用类名不用加上括号. 实例化对象的语法格式如下: 变量名 = new 类名(参数列表); 或 变量名 = new 类名; 实例 <?php class Family{ } $father1 = new Family(); $father2 = new Family; $father3 = n

php访问对象中的成员的实例方法

2021-10-22
对象是由成员属性和成员方法构成的,想要访问对象成员的话,实际上有点像访问数组中的元素,既然有点像的话,通过对象的引用来访问对象的成员,还需要使用一个特殊的运算符号->来完成对象成员的访问. 实例 <?php class Website{ public $baba, $dad, $title; public function demo(){ echo '福如东海,寿比南山'; } } $love = new Website(); $love -> baba = '爸爸'; $love -&

php实现自动生成验证码的实例讲解

2021-10-20
现在验证码在表单中的应用越来越多了,但是如果用js来实现总觉得不太方便,因此使用php来实现下,在此记录下. 当然,我们也可以封装成一个函数,以后使用的时候也是很方便的,这里并未封装,感兴趣的小伙伴可以自己封装下. 具体实现代码: 新建一个cap_sz.php文件: <?php session_start(); //设置session,一定要在顶部 $width = 150; //设置图片宽为300像素 $height = 40; //设置图片高为40像素 $image = imagecreat

php将xml转化对象的实例详解

2021-10-19
XML文件 $xml= "123456"; 将文件转换成对象 $objectxml = simplexml_load_string($xml); 将对象转换个JSON $xmljson= json_encode($objectxml ); 将json转换成数组 $xmlarray=json_decode($xmljson,true); 内容扩展: PHP将XML转换成数组/对象 $xml= "<xml><appid>123456</appid&g

php安全攻防世界unserialize函数反序列化示例详解

2021-10-14
目录 步骤 总结 步骤 首先打开题目,发现给了一段源码: 分析源码,发现类里面有三个魔术方法: __construct():构造函数,对类的变量进行初始化,创建时自动调用,用得到的参数覆盖$file __destruct():销毁时调用,会显示文件的代码,这里要显示fl4g.php __wakeup():在进行反序列化之前会调用,会把$file重置成index.php 正则表达式的含义:o或c开头,冒号,一个或多个数字,不区分大小写 ok,分析完毕:我们要将序列化后的字符串进行base64加密之

web php include攻防世界php安全示例详解

2021-10-13
步骤 打开所给的实验环境,发现给出代码,分析代码可知是文件包含漏洞: 其中含有两个参数: hello参数中的内容会被输出到页面 page参数中的内容则会被进行文件包含,但是会对php://进行过滤 两个函数: strstr(string,search[,before_search]):strstr() 函数搜索字符串(search)在另一字符串(string)中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE.区分大小写,stristr()函数不区分大小写. string:必需.规

php安全攻防利用文件上传漏洞与绕过技巧详解

2021-10-11
目录 前言 文件上传漏洞的一些场景 场景一:前端js代码白名单判断.jpg|.png|.gif后缀 场景二:后端PHP代码检查Content-type字段 场景三:代码黑名单判断.asp|.aspx|.php|.jsp后缀 场景四:代码扩大黑名单判断 绕过方式--htaccsess: 绕过方式--大小写绕过: 场景五:一些复合判断 空格.点绕过(windows) ::$DATA绕过(windows) 双写绕过 %00截断 %0a绕过 图片马绕过 二次渲染绕过 条件竞争 /.绕过 前言 文件上传漏

php如何处理setcookie失效的问题

2021-09-23
1.浏览器开启cookie. 2.删除在setcookie()之前的任何HTTP头部输出. 3.使用php的setcookie()来创建cookie即可. 使用php的setcookie()来创建cookie和php中开启session的 session_start()一样,在setcookie()之前不能有任何HTTP头部输出.我去检查代码,发现如下代码 var_dump($qOpenId); setcookie('qOpenId',$openid,time() + 30 * 24 * 360

php类自动加载失败的处理方案及实例代码

2021-09-21
1.打开相应的PHP代码文件. 2.添加"$class = str_replace("\\","/",$class);"代码即可. 文件在本地win系统下测试无异常,代码如下: function stu_autoload($class){ if(file_exists($class.".php")){ require ( $class.".php"); }else{ die("unable to

PHP中=&gt;和-&gt;以及::符号的用法

2021-09-21
没关系,下面我们做一下详细的解释,如果你有C++,Perl基础,你会发现这些家伙和他们里面的一些符号功能是差不多的. '- >'符号 插入式解引用操作符"(infix dereference operator).换句话说,它是调用由引用传递参数的子程序的方法(当然,还有其它的作用).正如我们上面所提到的,在调用PHP的函数的时候,大部分参数都是通过引用传递的.PHP中的'->'功能就和它们在Perl或C++中一样.下面是一个简单的解引用的例子: echo $x->def();

深入浅出理解PHP原理之变量赋值

2021-09-20
PHP的变量赋值 这个标题估计很多人会不屑一顾,变量赋值?excuse me?我们学开发的第一课就会了好不好.但是,就是这样基础的东西,反而会让很多人蒙圈,比如,值和引用的关系.今天,我们就来具体讲讲. 首先,定义变量和赋值这个不用多说了吧 $a = 1; $b = '2'; $c = [4, 5, 6]; $d = new stdClass(); 四个变量,分别定义了整型.字符串.数组的对象.这也是我们天天要打交道的四种类型. 然后,变量给变量赋值. $a1 = $a; $b1 = $b; $

聊聊PHP中删除字符串的逗号和尾部斜杠的方法

2021-09-17
正如标题所述,本文将给大家通过两个示例来介绍PHP删除字符串中的逗号以及尾部斜杠的方法,感兴趣的朋友咱们一起继续往下看吧~ 下面我们通过具体的实例分别讲解: 第一个示例的要求则是"编写一个PHP脚本以从指定的数字字符串中删除逗号". PHP示例代码如下: $str1 = "2,345.12"; $x = str_replace( ',', '', $str1); if( is_numeric($x)) { echo $x." "; } 运行结果如

PHP操作MySQL的常用代码段梳理与总结

2021-09-16
这篇文章为大家介绍,实用的PHP网站实际开发中常用到的操作mysql数据库的代码段,所有代码均可靠执行,此文将持续更新!!! 1.向数据库插入数据表 <?php $con = mysql_connect("[数据库地址]","[数据库用户名]","[数据库密码]");//创建MySQL连接 mysql_select_db("[数据库名]", $con);//选择MySQL数据库 $sql = "CREATE T

聊聊PHP中require_once()函数为什么不好用

2021-09-16
在上一篇<聊聊PHP中die()和sleep()函数的用法>中给大家简单介绍了die()和sleep()函数的使用方法,感兴趣的朋友可以去学习了解一下~ 本文将告诉你PHP中require_once()为什么不好用! 不过在说它不好用之前,我们先开看看require_once()函数的定义和用法. require_once()函数是PHP中的内置函数,当我们想要将一个PHP文件引入到另一个文件中时,例如当我们需要在PHP脚本中多次引入一个文件时,它就非常有用了.它用于检查文件是否被包含了不止一