- 博客(23)
- 资源 (8)
- 收藏
- 关注
原创 laravel 自定义请求验证类
laravel的验证可以直接在控制器里面这样验证: $validatedData = $this->validate([ 'title' => 'required|unique:posts|max:255', 'body' => 'required', ]); if ($validatedData ->fails(...
2019-01-08 14:01:57
1405
原创 laravel 一个小时未付款取消订单-Redis键空间通知过期事件的应用实例
在 PHP对Redis键空间通知过期事件的应用实例 一文中,已经介绍了PHP对Redis键空间通知功能的应用。本文主要介绍laravel中对Redis键空间通知过期事件的应用。场景:用户下单后一个小时如果没付款就取消掉订单。要实现这个,有了前文的基础,我们肯定不会只想到crontab定时去做,还会想到用Redis去实现。那么具体该怎么操作?请往下看:1、先配置一下 .env 文件 ,...
2019-01-03 17:56:32
2088
3
原创 laravel 对 ID 进行对称加密
有时候我们不希望直接把ID暴露给用户,因为有规则的ID,容易泄露信息,同时有可能被第三方直接遍历抓取资源。这时为了安全考虑,我们需要对ID进行加密解密。laravel的一个对ID加密解密的扩展包地址:https://github.com/vinkla/laravel-hashids1.在laravel中安装hashidscomposer require vinkla/hashi...
2018-12-20 18:03:00
2609
1
原创 使用 PHPStorm 与 Xdebug 调试 Laravel
写PHP的API时,一直用postman做测试,最近发现在测试过程中可以用xdebug来断点调试,比原来手动打exit或者die来断点效率高多了。下面记录下我自己从安装到测试的全部详细过程。我的运行环境是:windows+wamp。环境系统版本:Windows 10 PHP 版本:7.0.12 Xdebug 版本:2.7 Laravel 版本:5.3 PHPStorm 版本:2...
2018-09-04 17:42:03
4423
原创 laravel 多对多关联模型CURD详解
1、laravel官方文档中给出了一种用户-角色(User-Role)关系的例子。在这个例子中,一个用户可能与多个角色对应,反过来同理,一个角色也可能对应多个用户。官方说的比较简单,这里详细介绍一下。一个用户可以有多个不同的角色; 一个角色会拥有各种不同的用户;现在已最简单的数据解构为例进行说明:角色数据表roles :id、name 用户数据表users : id、name 角色...
2018-08-28 15:10:32
4018
原创 用Redis替代session改写thinkPHP验证码类
最近有一个项目,因为后端才有的是thinkPHP框架,前端用的VueJS框架,需要用到验证码,由于都是用的API,所以原有的tp框架验证码类采用的session存储方式无法实现需求,需要进行改写。记录一下过程,并分享给大家以供参考。 验证码类中主要涉及到两个方法,一个是生成方法entry,另一个就是验证方法check。 1、定一个变量 protected $redis; 在__constru
2018-05-09 21:26:09
1162
原创 PHP对Redis键空间通知过期事件的应用实例
一、需求分析: 1、设置了生命时间的key,过期的时候能不能提示,能够监听过期的key? 2、怎样用redis实现定时任务? 二、应用场景: 在我们程序中经常会有需要定时执行的程序,比如:商品下单后半小时内不支付自动撤单等等。 最简单粗暴的办法,就是写一个程序,让它定时执行,但是这样对服务器压力比较大。 这里说的是用Redis去实现这样的一个功能。 三、Redis键空间通知介绍 在
2018-03-20 14:11:03
5645
原创 ajax上传文件之ajaxfileupload使用详解
废话不多说,直接展示关键代码片段 HTML部分:<div class="form-group"> <label class="col-sm-2 control-label">图片:</label> <input name="WxQRCode" type="file" onchange="fileUpload('WxQRCode');" id="WxQRCode"> <inp
2017-11-25 18:24:09
4735
原创 Linux服务器下PHPMailer发送邮件失败问题的解决
最近在做一个项目,其中有用到PHPmailer来发送邮件,在本地测试好后,上传到线上,邮件发送失败。用的是SMTP协议,本地用的是wamp环境,线上用的是lamp环境。于是就进行一系列的排查。 排查过程 这种方式首先PHP要开启sockets扩展,以及openssl。 1、查看php扩展#php -m发现是开启的 2、 然后打开php.ini,查看allow_url_fopenallow_u
2017-11-09 21:24:47
6539
原创 mysql的merge存储引擎应用
数据库中的数据量不一定是可控的,在未进行分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,CURD的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。所以为了减小数据库的负担,缩短查询时间,常常需要对数据表进行分表的操作。常用的分表技术有两
2017-08-31 18:02:41
687
原创 Mysql group with rollup应用以及游标的应用
现有如下两张表:城市表(city) 金额表(money) 需要统计每个城市各月的金额及总额和所有城市每个月的金额和总额。首先按月份统计各城市的金额SELECT IFNULL(A.name,'total') as name,SUM(A.pay_money) AS pay_money,A.date_time as date_time FROM( SELECT c.name,m.pay_mo
2017-08-04 18:12:44
517
翻译 ubuntu14.04 mysql升级到5.7版本出现GPG error错误解决办法
先说一下升级的方法:首先备份数据,下面是具体安装步骤:1、下载mysql-apt的配置包,并安装wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.debsudo dpkg -i mysql-apt-config_0.8.1-1_all.deb在安装的过程中,会要求选择mysql版本,选择mysql5.7版本后,点击
2017-07-08 12:34:07
1286
原创 windows 10 安装composer 出错
学习laravel框架的时候需要安装composer,从官网https://getcomposer.org/download/下载下来Composer-Setup.exe,安装过程中报了如下错误:所以这里我就换了一个方式安装,就是自己手动来安装composer,方法如下:一 、下载phar的文件如下图: 建议下载最新版本,把下载好的文件放到php.exe所在的目录下。二、新建一个compose
2017-07-06 23:01:39
3244
转载 PHP隐藏部分字符串(如:姓名、用户名、身份证、IP、手机号等)函数
PHP隐藏部分字符串(如:姓名、用户名、身份证、IP、手机号等)函数。此函数用法 和 PHP内置函数 substr(),几乎是一样的。只不过 substr() 是用于截取,而hidestr()是隐藏~/** * 将一个字符串部分字符用$re替代隐藏 * @param string $string 待处理的字符串 * @param int $start 规定在字符串的
2017-07-05 15:53:14
10331
1
原创 html转换为json字符串,正则表达式的应用
最近在做app,需要做一个查看物流的接口,从第三方去申请物流API,由于申请的是免费的,所以只能返回html(这个有点坑,免费的和收费的区别太大了吧),谁让咱是做技术的,即使是html,也可以把它变成json。首先请求API,获取到一个html如下:$content = '<table width="520px" border="0" cellspacing="0" cellpadding="0"
2017-06-30 16:15:12
2142
原创 支付宝APP支付-php后台签名以及验签
一、 下载php支付宝sdk https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.eCtVsf&treeId=54&articleId=103419&docType=1 二、 查看支付宝App支付请求参数文档,拼接请求参数,签名 App支付请求参数说明 https://doc.open.alipay.com/docs/
2017-06-23 16:39:03
11880
2
转载 一道比较实用的MySQL面试题:游戏数据充值查询
题目如下, 有两个数据表分表是, 用户表: Members(qqnumber,userid); 充值表: Payment(payid,userid,paytime,amount); 查询2012年各个月充值最多的用户的qqnumber,要求根据qqnumber进行汇总(提示:一个qqnumber可能会有多条充值记录;paytime为充值时间,amount为充值金额),请写出SQL语句
2017-06-06 11:42:34
727
原创 thinkphp在ubuntu下验证码无法加载或者验证码错误问题的解决
最近LZ在做一个thinkphp的项目,用的是WAMP开发的。把代码移植到ubuntu下,就出问题了,验证码无法显示。之前也碰到过这样的问题,无非是GD库没有加载,或者是session写入权限问题。 先说下这个问题的解决办法:① GD库没有加载安装gd库apt-get install php5-gd搜到gd.so在/usr/lib/php5/20090626+lfs/目录下 ,需要修改php
2017-06-06 11:20:24
657
原创 Ubuntu-server 下Apache2 配置.htaccess 隐藏thinkPHP项目index.php无效解决办法
最近在做一个thinkphp的项目,想隐藏掉index.php. 首先按照网上的资料修改apache配置以及添加.htaccess 需要开启Apache2的rewrite模块 1、打开/etc/apache2/apache2.conf 将文件中的AllowOverride None改为AllowOverride All2、修改mods-enable配置,添加一个软件链接cd /etc/apa
2017-06-06 10:23:40
1363
原创 MySQL嵌套查询实例(2)
问题:存在如下2张表,数据一次如下,goods(商品表),orders(销售订单表),假定一个订单只能购买一种商品。左边为goods(商品表),右边为orders(销售订单表)。 要求:用MySQL语句实现,查出2017年2月份,商品月销售总额大于10000元,金额排名前三的商品名称以及金额。首先创建表,①商品表的创建DROP TABLE IF EXIS
2017-03-06 18:19:32
1707
原创 MySQL嵌套查询实例
问题:现有如下数据表,用户表: Members(qqnumber,userid); 充值表: Payment(payid,userid,paytime,amount); 查询2012年各个月充值最多的用户的qqnumber,要求根据qqnumber进行汇总(提示:一个qqnumber可能会有多个游戏角色数据,多条充值记录;paytime为充值时间,),请写出SQL语句。创建的表
2017-03-05 09:55:25
858
原创 mysql查询当天所有数据以及常用日期函数总结
创建表DROP TABLE IF EXISTS `onethink_member`;CREATE TABLE `onethink_member`(`uid`int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',`nickname`char(16) NOT NULL DEFAULT '' COMMENT '昵称',`sex`tinyi
2017-03-05 09:50:25
2783
转载 【高并发简单解决方案】redis队列缓存 + 批量入库 + php离线整合
需求背景:有个调用统计日志存储和统计需求,要求存储到mysql中;存储数据高峰能达到日均千万,瓶颈在于直接入库并发太高,可能会把mysql干垮。问题分析思考:应用网站架构的衍化过程中,应用最新的框架和工具技术固然是最优选择;但是,如果能在现有的框架的基础上提出简单可依赖的解决方案,未尝不是一种提升自我的尝试。解决:问题一:要求日志最好入库;但是,直接入库mysql确实扛不住,批...
2017-02-08 15:50:26
1698
C#4 0本质论 第3版 书签版
2014-10-27
嵌入式学习计划 个人心得
2010-05-12
蜗牛程序 DOS
2010-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人