php技巧

Laravel框架中队列和工作(Queues、Jobs)操作实例详解

2020-04-03
在我们的web应用中,经常会遇到这样的情况: 用户在进行了某项操作后,我们需要在后台完成一个耗时且耗费资源的任务,以对应用户的操作. 通常来说,web应用中的操作都是同步的(synchronous),即用户的操作可以立即得到回馈. 但是在以上情况下,同步等待操作结果将是灾难性的.比如用户点击了申请密码重置邮件,倘若我们让用户一直停滞在等待页面,直至邮件发送成功,那么用户体验将非常地不好,因为有时候可能需要很长的时间才能将邮件发送完成. 从另一个角度来说,如果我们服务器处于高负荷的情况,当多个用户

phpQuery采集网页实现代码实例

2020-04-01
前言   平时开发中可能遇到一个问题.采集网页,小偷程序等等.各种花式秀正则的话,虽然能体现出geek,但是我觉得做事却不够优雅.采集到的网页说白了也是DOM,jQuery各种优雅地获取节点.幸好,有这个类库,帮我们解决了这个,那就是phpQuery. 为什么使用phpQuery phpQuery是基于php5新添加的DOMDocument.而DOMDocument则是专门用来处理html/xml.它提供了强大的xpath选择器及其他很多html/xml操作函数,使得处理html/xml起来非常

php计数排序算法的实现代码(附四个实例代码)

2020-03-30
计数排序只适合使用在键的变化不大于元素总数的情况下.它通常用作另一种排序算法(基数排序)的子程序,这样可以有效地处理更大的键. 总之,计数排序是一种稳定的线性时间排序算法.计数排序使用一个额外的数组C ,其中第i个元素是待排序数组 A中值等于 i的元素的个数.然后根据数组C 来将A中的元素排到正确的位置. 通常计数排序算法的实现步骤思路是: 1.找出待排序的数组中最大和最小的元素: 2.统计数组中每个值为i的元素出现的次数,存入数组C的第i项: 3.对所有的计数累加(从C中的第一个元素开始,每一

php查看一个变量的占用内存的实例代码

2020-03-27
事例: php版本为7.2 <?php echo memory_get_usage() , '<br>'; $start = memory_get_usage(); $a = Array(); for ($i=0; $i<1000; $i++) { $a[$i] = $i + $i; } $mid = memory_get_usage(); echo memory_get_usage() , '<br>'; for ($i=1000; $i<2000; $i++)

PHP实现基本留言板功能原理与步骤详解

2020-03-26
本文实例讲述了PHP实现基本留言板功能的方法.分享给大家供大家参考,具体如下: 作为一个PHP的初学者,我试着写了一个留言板,页面有点丑,多多见谅,嘻嘻嘻 #我们写留言板需要用到数据库,所以我们先要建立三个表 user表 friend表 text表 #首先需要写一个注册与登录 ##注册 zhuce.html <meta charset="utf-8"> <title>zhuce</title> </head> <body> &

PHP使用PhpSpreadsheet操作Excel实例详解

2020-03-25
本文实例讲述了PHP使用PhpSpreadsheet操作Excel.分享给大家供大家参考,具体如下: 一.PhpSpreadsheet 介绍 1.PhpSpreadsheet 是什么 PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式 PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式.图片.日期.函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到 使用 Ph

PHP开发api接口安全验证操作实例详解

2020-03-25
本文实例讲述了PHP开发api接口安全验证操作.分享给大家供大家参考,具体如下: php的api接口 在PHP的开发工作中,对API接口开发不会陌生,后端人员写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json, 在这个过程中,服务器并不知道,请求的来源是什么,有可能是别人非法调用我们的接口,获取数据,因此就要使用安全验证来屏蔽某些调用. 验证原理示意图 原理 从图中可以看得很清楚,前台想要调用接口,需要使用几个参数生成签名. ● 时间戳:当前时间 ●

Centos7安装swoole扩展操作示例

2020-03-25
本文实例讲述了Centos7安装swoole扩展操作.分享给大家供大家参考,具体如下: 我的PHP版本为PHP 7.2.24 更新源 [root@localhost html]# yum update 安装需要支持的扩展 [root@localhost html]# yum install php72w-devel [root@localhost html]# yum install php72w-pear [root@localhost html]# yum install gcc [root

php中加密解密DES类的简单使用方法示例

2020-03-23
本文实例讲述了php中加密解密DES类的简单使用方法.分享给大家供大家参考,具体如下: 在平时的开发工作中,我们经常会对关键字符进行加密,可能为了安全 也可能为了规范,所以要正确使用DES加密解密 代码1: class DES { var $key; // 密钥 var $iv; // 偏移量 function __construct( $key, $iv=0 ) { $this->key = $key; if( $iv == 0 ) { $this->iv = $key; } else {

CentOS7系统搭建LAMP及更新PHP版本操作详解

2020-03-23
本文实例讲述了CentOS7系统搭建LAMP及更新PHP版本操作.分享给大家供大家参考,具体如下: 搭建LAMP环境 用yum安装 安装Apache 安装Apache [root@localhost /]# yum install httpd httpd-devel 启动Apache [root@localhost /]# systemctl start httpd 设置Apache开机启动 [root@localhost /]# systemctl enable httpd Created s

PHP代码加密的方法总结

2020-03-12
如何保护自己的PHP代码: 代码混淆+加密 实际加密算不上,具体实现思路就是把代码base64加密,然后对base64里的字符串进行字符串映射(随机生成字典混淆)然后eval执行 这种百分之百能被破解还原 代表代码如下: <?php function RandAbc($length = "") { // 返回随机字符串 $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; return s

PHP使用swoole编写简单的echo服务器示例

2020-03-11
本文实例讲述了PHP使用swoole编写简单的echo服务器.分享给大家供大家参考,具体如下: server.php代码如下: <?php class EchoServer { protected $serv = null; public function __construct() { $this->serv = new swoole_server('0.0.0.0', 8888); //配置参数 $this->serv->set(array( 'worker_num' =>

centos7环境下swoole1.9的安装与HttpServer的使用方法分析

2020-03-10
本文实例讲述了centos7环境下swoole1.9的安装与HttpServer的使用方法.分享给大家供大家参考,具体如下: 一.下载swoole源码包 https://github.com/swoole/swoole-src/releases 如:swoole-src-1.9.6.tar.gz 二.编译安装 > yum install gcc gcc-c++ kernel-devel make autoconf > tar xf swoole-src-1.9.6.tar.gz > cd

PHP swoole中http_server的配置与使用方法实例分析

2020-03-10
本文实例讲述了PHP swoole中http_server的配置与使用方法.分享给大家供大家参考,具体如下: swoole中为我们提供了一个swoole_http_server类,方便我们处理http请求. 但是它对http协议的支持并不完整,所以一般建议在前面加一层nginx进行代理,对于php文件的处理交由swoole处理. 一.创建一个简单的http服务 <?php //创建一个http server服务 $server = new swoole_http_server('0.0.0.0'

SQL server不支持utf8 php却用utf8的矛盾问题解决方法

2020-03-09
核心代码 function convert2utf8($string) { return iconv("gbk","utf-8",$string); } function convert2gbk($string) { return iconv("utf-8","gbk",$string); } 当插入数据,或修改数据的时候,把utf-8,转为gbk,存入数据库. 当获取数据的时候,将数据转为utf-8. 这个方法在底层的数据中

PHP swoole的process模块创建和使用子进程操作示例

2020-03-09
本文实例讲述了PHP swoole的process模块创建和使用子进程操作.分享给大家供大家参考,具体如下: swoole中为我们提供了一个进程管理模块 Process,替换PHP的 pcntl 扩展,方便我们创建进程,管理进程,和进程间的通信. swoole提供了2种进程间的通信: 1.基于 unix socket 的管道 pipe. 2.基于 sysvmsg 的消息队列. 我们可以通过 new swoole_process() 快速的创建一个进程,默认会创建一个 SOCK_DGRAM 类型的

PHP swoole中使用task进程异步的处理耗时任务应用案例分析

2020-03-08
本文实例讲述了PHP swoole中使用task进程异步的处理耗时任务.分享给大家供大家参考,具体如下: 我们知道,swoole中有两大进程,分别是 master 主进程和 manager 管理进程. 其中 master 主进程中会有一个主 reactor 线程和多个 reactor 线程,主要的作用就是用来维护TCP连接,处理网络IO,收发数据. 而 manager 管理进程,作用则是 fork 和管理 worker 和 task 进程. worker 进程的作用是接收 reactor 线程传

PHP终止脚本执行的实例代码

2020-03-08
终止脚本执行,指的是通过一条语句告诉PHP引擎,此语句之后的其他语句不需要执行. PHP提供了三种方式来终止脚本执行:return,die,exit return:执行到该处退出,如果是在函数中,表示退出函数,如果是在脚本中,表示脚本停止执行 //return //return '*'; //exit //exit; //直接停止,不需要输出任何提示信息 //exit('stop here') ; //带括号表示在此处终止,但是要输出提示信息 //dieexit是一样的//die; die('s

PHP下ajax跨域的解决方案之jsonp实例分析

2020-03-05
本文实例讲述了PHP下ajax跨域的解决方案之jsonp.分享给大家供大家参考,具体如下: 首先要说明一下json和jsonp的区别? json是一种基于文本的数据交换方式,或者叫做描述数据的一种格式. var person = { "name": "test", "age": "25", "sex": "男" }; var data = [1, 2, 3, 4, 5]; 而jsonp是

PHP函数参数传递的方式整理

2020-03-05
在调用函数时,需要向函数传递参数,被传入函数的参数称为实参,而函数定义的参数称为形参.而向函数传递参数的方式有四种,分别是值传递.引用传递.默认参数和可变长度参数. 1. 值传递 值传递是 PHP 中函数的默认传值方式,也称为"拷贝传值".顾名思义值传递的方式会将实参的值复制一份再传递给函数的形参,所以在函数中操作参数的值并不会对函数外的实参造成影响.因此如果不希望函数修改实参的值,就可以通过值传递的方式. [示例]下面定义一个简单的函数,函数有两个参数,在函数中交换参数的值. <