自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

转载 数据加密:使用aes对接口数据进行可逆加密

PHP可以通过多种方式对数据进行加密处理,今天我们来说下aes加密和aes解密。高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:aes加密代码:/** * aes加密 * @param $str * @return string */function aesEncrypt($str,$ak,$sk){ r.

2020-07-05 21:46:38 512

原创 PHP网络爬虫实践:抓取百度搜索结果,并分析数据结构

百度的搜索引擎有反爬虫机制,我先直接用guzzle试试水。代码如下:<?php/** * Created by Benjiemin * Date: 2020/3/5 * Time: 14:58 */require ('./vendor/autoload.php');use QL\QueryList;//进入网页$jar = new \GuzzleHttp\Cooki...

2020-03-05 16:26:35 1733

转载 拼多多模式,砍价免费拿商品算法

我12年开始做网站,对拼多多关注两三年了,一直对他们的拉新模式很感兴趣,下面我对砍价送礼品的算法跟大家分享下。拼多多砍价免费拿商品有几个核心的东西:1.需要拉新多人给商品,这个是直接在数据库配置的2.是否给商品,如果不想给商品,系统会在接近砍价成功时候,不断返回小金额的砍价,如果金额小于0.01,无论是新的粉丝来砍价还是老会员,都会直接返回0.00元,永远无法砍价到。3....

2019-09-06 10:51:53 11031

转载 TCP怎么保证证包有序传输的,TCP的慢启动,拥塞避免,快速重传,快速恢复

TCP提供了最可靠的数据传输,它给发送的每个数据包做顺序化(这看起来非常烦琐),然而,如果TCP没有这样烦琐的操作,那么,可能会造成更多的麻烦。如造成数据包的重传、顺序的颠倒甚至造成数据包的丢失。 那么,TCP具体是通过怎样的方式来保证数据的顺序化传输呢?主机每次发送数据时,TCP就给每个数据包分配一个序列号并且在一个特定的时间内等待接收主机对分配的这个序列号进行确认,如果发送主机在一个特定时...

2019-09-03 09:10:07 907 2

原创 windows安装redis和php拓展

第一步:下载redis我是win7的环境,直接到https://github.com/MSOpenTech/redis/releases下载windows版本的redis;第二步:配置path info我的文件C:\Redis-x64-3.2.100,在path添加这个路径第三步:测试redis打开控制台,输入redis-server,看到下图就表示

2017-11-24 10:35:21 262

原创 Thinkphp5 微信公众号token验证不成功的原因

最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败。为此,我甚至手工写了微信提交过来的记录,如:&timestamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439我眼睛看着验

2017-11-11 23:44:07 2885

原创 PHP接入阿里云市场 阿里短信服务DEMO

阿里短信服务:支持三大运营商短信、智能管道等优质能力,产品特点:3秒可达、99%到达率、超低资费。使用阿里短信服务步骤:1.购买服务到https://market.aliyun.com/products/57002003/cmapi011900.html#item-1购买短信服务2.设置签名档3.创建短信模板4.根据demo接入阿里短信服务 

2017-07-04 18:07:21 806

原创 PHP获取访客IP、地区位置信息、浏览器、来源页面

不多说了,每个方法都注释了,可以直接用:<?php//这个类似用来获取访客信息的//方便统计class visitorInfo{ //获取访客ip public function getIp() { $ip=false; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $

2017-06-15 14:19:54 878

原创 利用base64函数,对文件进行转码加密

设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的内容就是通过base64转码后传输的。Base64-encoded后, 数据要比原始数据多占用 33% 左右的空间。利用base64加密文件:<?php//写文件路径$file_url = 'upload/iampdf.pdf';$file_encoded = 'encoded/iampdf.

2017-06-14 13:04:33 1228

原创 基于js-spark-md5前端js类库,快速获取文件Md5值

js-spark-md5是歪果仁开发的东西,有点多,但是我们只要一个js文件即可,具体类包我存在自己的oschina上,下载地址:https://git.oschina.net/jianqingwang/js-spark-md5js-spark-md5是做什么的?    js-spark-md5是号称全宇宙最快的前端类包,可以无需上传文件就快速获取本地文件md5.可能你觉得这没什么

2017-06-13 09:13:34 7745

原创 Windows环境安装tesseract-ocr 4.00并配置环境变量

最近要做文字识别,不让直接用别人的接口,所以只能尝试去用开源的类库。tesseract-ocr是惠普公司开源的一个文字识别项目,通过它可以快速搭建图文识别系统,帮助我们开发出能识别图片的ocr系统。因为Windows环境开发,我也就必须在windows环境安装系统。第一步:下载安装包根据https://github.com/tesseract-ocr/tesseract/wiki,

2017-06-10 14:46:31 1099

原创 利用javascript:void(0)制作假的提交按钮替代button

在写html页面,我们很自然的在表单提交的地方采用button来作为提交按钮,但是,用按钮作为提交代码会有个问题,就是设置样式在不同浏览器可能会显示不同的样子,例如,下面的代码在不同浏览器就会有不同的效果:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/

2017-06-05 14:12:25 1066

原创 基于Jquery实现省份、城市、区县三级联动

前端感觉写的比较少,也是为了练手,下午没事用来写了这个三级联动,也是第一次写这东西。据我了解,城市信息可以选择存在数据库或者直接写在前端,为了省事,我直接写在前端,下面是我的代码:“http://www.w3.org/TR/html4/loose.dtd”>$(document).ready(function(){//省份城市数组var fuji

2017-06-05 11:39:54 1959

原创 PHP网站自动化配置的实现

一直都在用yii2做项目,有在用自动化配置,但是没有自己去配置过。中午没事去看了下yii的初始化代码,发现都是php而已!yii2初始化项目代码所以,我们做项目肯定是可以用php做的,于是我新建了个文件夹,名为autoConfig,里面创建了个init,里面写了如下代码:if(!file_exists('./uploads/')){ if(!mkdir('./uploa

2017-05-26 15:09:10 477

原创 Vue.js学习笔记:在元素 和 template 中使用 v-if 指令

语法比较简单,直接上代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 在Vue.js中,当判断语句为true,可以显示信息,当为false时候不显示 我是

2017-05-25 21:52:25 2721

原创 创建Vue.js对象:我的第一个Vue.js输出信息

Vue第一条信息{{ message }}new Vue({el: ‘#app’,data: {message: ‘Hello Vue.js!’}})new Vue()相当于新建了一个Vue对象。el: ‘#app’,是选择器data: { message: 'Hello Vue.js!'}

2017-05-23 23:30:51 828

原创 Composer 安装东西遇到github需要token怎么办

安装yii2遇到这样的提示:Could not fetch https://api.github.com/repos/jquery/sizzle/contents/bower.json?ref=917b312f1d0777d3cccf6ceace2621bb9e8009b2, please create a GitHub OAuth token to go over the API rat

2017-05-11 14:21:57 3257

原创 利用有道翻译Api实现英文翻译功能

有道翻译提供了翻译和查词的数据接口。通过数据接口,您可以获得一段文本的翻译结果或者查词结果。       通过调用有道翻译API数据接口,您可以在您的网站或应用中更灵活地定制翻译和查词功能。 第一步:申请接口api       到有道开放平台http://fanyi.youdao.com/openapi?path=data-mode申请api      注意事项:   申请成功会得到一组api

2017-05-10 16:31:27 1340

原创 利用PHPExcel读取Excel的数据和导出数据到Excel

PHPExcel是一个PHP类库,用来帮助我们简单、高效实现从Excel读取Excel的数据和导出数据到Excel。也是我们日常开发中,经常会遇到的使用场景。比如有个客户信息表,要批量导出发给同事,我们就可以用PHPExcel来快速实现。同样,如果我们要利用短信群发接口去群发信息,PHPExcel可以快速导入客户信息,避免人工录入信息的麻烦。PHPExcel使用教程:首先下载PHP

2017-05-09 15:44:43 256

原创 从数据库、代码和服务器对PHP网站Mysql做性能优化

数据库优化是PHP面试几乎都会被问到的事情,也是我们工作中应该注意的事情,当然,如果是小网站无所谓优化不优化,网站访问量大了自然会暴漏数据库的瓶颈,这个瓶颈是各方面问题综合导致的,下面我们来做下数据库优化的总结。一:对数据库优化1.创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引

2017-05-09 12:02:01 253

原创 Mysql数据库学习笔记之数据库索引(index)

什么是索引:SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间。聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物理顺序。非聚聚索引:该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。下面举两个简单的例子:我们拿出一本新华字典,它的目录实际上就是一种索引:非聚集索引。我们可以

2017-05-08 16:39:33 286

原创 PHP:基于百度大脑api实现OCR文字识别

ocr文字识别

2017-05-08 15:58:42 1708

原创 PHP for循环的写法和示例

For循环是最近的循环语句之一,无论哪种语言,都有这个循环语句,也是我们工作中常用的循环方法。语法规则:for (expr1; expr2; expr3){要执行的代码}expr1:表示循环开始的地方expr2 :循环的条件,如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。expr3 :在每次循环之后被求

2017-05-08 14:52:26 7077

原创 PHP Socket(套接字连接)扩展简介和使用方法

PHP socket扩展是基于流行的BSD sockets,实现了和socket通讯功能的底层接口,它可以和客户端一样当做一个socket服务器。使用这些函数时请注意,虽然他们中有很多和C函数同名的,但声明却很可能不同。未避免混淆,请仔细阅读函数描述。不熟悉socket编程的可以在Unix手册上找到很多有用的信息,网上也有很多C socket编程方面的教程,简单修改一下就可以应用于

2017-05-08 14:26:40 2869

原创 PHP exec()函数的介绍和使用DEMO

exec()函数用来执行一个外部程序,我们再用这函数基本是在linux。开启exec()函数:exec()函数是被禁用的,要使用这个函数必须先开启。首先是 要关掉 安全模式 safe_mode = off。然后在看看 禁用函数列表disable_functions = proc_open, popen, exec, system, shell_exec, passthru这

2017-05-08 11:50:22 1103

原创 PHP trim()函数的作用和使用方法

PHP trim()函数一般是用来去除字符串首尾处的空白字符(或者其他字符),一般在用在服务端对接收的用户数据进行处理,以免把用户误输入的空格存储到数据库,下次对比数据时候出错。该函数有两个参数,第二个可以为空,格式如下:trim ( string $str [, string $character_mask = ” \t\n\r\0\x0B” ] );$str 为需要处理

2017-05-08 11:28:39 3090

原创 Linux环境安装xmapp(PHP-Mysql集成环境)

xmapp是很多初学者使用的PHP环境集成包,用yum在linux安装的php和mysql版本现在都很低,xmapp可以解决这个问题,下面我们直接进入正题,安装一个php集成环境。我使用的是vm虚拟机,安装的是centos7。第一步:下载xmapp到https://www.apachefriends.org/zh_cn/index.html下载集成包,选择xmapp for

2017-05-06 16:17:15 1643

原创 PHP数组转JSON函数json_encode和JSON转数组json_decode函数的使用方法

这两个函数比较简单,我这里直接写例子,但是有一点一定要注意,json数据只支持utf-8格式,GBK格式的数据转换为json会报错!json_encode()用法:$data =array(‘name’=>’jianqingwang’,‘sex’=>’man’,‘title’=>’PHPER’,‘location’=>’XiaMen’);$new_dat

2017-05-05 22:21:12 423

原创 PHP 中使用explode()函数切割字符串为数组

explode()函数的作用:使用一个字符串分割另一个字符串,打散为数组。例如:字符串$pizza = "第1 第2 第3 第4 第5 第6";根据空格分割后:$pieces = explode(" ", $pizza);$pieces是分割后的数组,我们打印出来看下<?php$pizza = "第1 第2 第3 第4 第5 第6";$piece

2017-05-05 21:50:14 674

原创 PHP获取随机数的函数rand()和mt_rand()

rand()函数用户获取随机数,具体用法如下:rand()可以设置0个参数或者两个参数,如rand($min,$max),$min表示从XX开始取值,$max表示最大只能为XX例如:<?phpecho rand() . "\n";//得到一个不定位数的随机数echo rand(5, 15);//在5~15之间取一个数?>mt_rand() 用法跟rand

2017-05-05 21:22:16 3696

原创 PHP stripos()、strripos()和strrpos() 使用方法和区别

stripos():查找字符串首次出现的位置(不区分大小写)写法:stripos ( string $haystack , string $needle [, int $offset = 0 ] )haystack:在该字符串中查找。needle:注意 needle 可以是一个单字符或者多字符的字符串。如果 needle 不是一个字符串,那么它将被转换为整型并被

2017-05-05 17:20:52 1507

原创 PHP strip_tags() 函数的作用和用法

strip_tags()函数可以轻松实现从字符串中去除 HTML 和 PHP 标记。使用方法:trip_tags ( string $str [, string $allowable_tags ] );第一个参数为必须的,也就是要去除 HTML 和 PHP标记的源数据,第二个参数是可选的,表示不需要过滤的标记。例如:<?php$data = '新词库';

2017-05-05 16:47:31 590

原创 PHP回调函数call_user_func()和call_user_func_array()的使用

call_user_func():把第一个参数作为回调函数调用用法:call_user_func ( callable $callback [, mixed $parameter [, mixed $… ]] )第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数。function barber($type){ echo $type."";}

2017-05-05 13:59:32 336

原创 http_build_query()函数使用方法

http_build_query()函数的作用是使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。写法格式:http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]]

2017-05-05 11:35:10 7826

原创 mysql服务1067错误:修改mysql可执行文件路径

今天遇到mysql服务1067错误的问题,设置使用系统账户也无法启动mysql,后面认证看了系统的配置信息,发现启动文件也就是mysql安装路径是之前的(也说明之前安装mysql,没去卸载直接安装新的会出错),于是打算修改修改mysql可执行文件路径,换成现在的。但是各种百度,都说的不明确,后面打算放弃了,干脆重装系统,才发现这个可以解决。第一步:停止服务MySQL第二步:

2017-05-05 10:01:10 437

原创 PHP实现登录功能DEMO

个人博客地址:http://www.wangtuizhijia.com/archives/75PHP实现登录的原理是什么呢?就是利用Session实现的,用户访问网站,系统会自动在服务器生成一个Session文件,这个Session可以用来存储用户的登录信息。好了,这是基本储备,我们下面来实现登录功能吧!第一步:创建登录表单  用户名: 密码:

2017-05-02 14:39:23 870

原创 使用Apache的ab工具进行网站性能测试

Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便。ab 的用法是:ab [options] [http://]hostname[:port]/path例如:ab -n 5000 -c 200 http://localhost/index.php上例表示总共访问http://localhost/index.php这个脚本5000次,200并发同时执

2017-04-19 19:13:14 713

原创 Centos7:利用crontab定时执行任务

cron服务是Linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:/sbin/service crond start/sbin/service crond stop/sbin/service crond restart/sbin/service crond reload以上1-4行分别为启动、停止、重启服务和重新加载配置。要把cron设为在开机

2017-04-18 10:42:53 2639

原创 yii2 联系我们发送邮件报错

为什么会报错,因为国内的邮件服务商要求发送邮件的人和设置的smtp服务器账号要相同,因为联系我们的是用户,也就是发件人是用户,而不是我们配置的邮箱,所有出错。     这里我用了个取巧的办法,发件人改为自己,客户的邮箱信息直接拼接在邮件内容,这样我们收到邮件就能知道谁留下的信息。这样有个好处,自己发邮件给自己,成功概率100%把控制器改为这样写:public funct

2017-03-24 11:40:11 1089

原创 PHP工作笔记:Yii2框架设置页面的关键词和描述

因为都是做系统,很少用到这个设置,标题也是自动生成的,我们公司网站也没有关键词和描述,这样不利于网站获取相关排名。设置方式:  直接在视图层做如下设置$this->title = "页面标题";$this->metaTags[]="";$this->metaTags[]="";

2017-03-02 17:38:36 555

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除