- 博客(38)
- 收藏
- 关注
原创 lnmp环境部署
4.php如果遇到 open_basedir restriction in effect. 类似这样没有权限访问的问题 那就是open_basedir配置有问题。2.nginx启动和关闭命令要一致,不能启动用‘nginx’,关闭用‘systemctl stop nginx’,会报错和导致nginx不能正常运行。3.使用‘mysqldump’导出mysql资源(未登录),使用‘source’导入sql文件(登录mysql后)之前有用lnmp2一键安装,但php版本会在安装后切换成一个很低的版本,原因未知。
2023-09-14 12:07:17 223
原创 laravel广播之绝对脱坑
1.使用redis驱动,注意去掉config/database默认的键名前缀,或者前端补全前缀2.npm install socket.io-client@2.*,socket.io-client指定版本2,其他版本不支持,原因未知
2021-03-26 16:02:47 124
原创 php几个小试题
1.形如 “12321”, “789987” 的数字称为“回文”,请写一个尽可能高效/高可维护的函数来判断输入的数字是否为回文;function isBack($num):bool { $num_rev = strrev($num); if ($num == $num_rev) { return true; } return false;}2.Excel 的行计数为数字(左侧纵列,1、2、3、4 标记第 1...
2020-06-19 17:52:10 265
原创 php适配器模式
<?php //适配器模式 interface PerfectMan { public function do_php(); public function cook(); } class Wife { function cook() { echo "做美味的饭菜\n"; } } class Me implements Perfe...
2020-06-04 18:05:33 354
原创 php策略模式
<?php//策略模式 interface Love { function love_me(); } class Tiger implements Love { function love_me() { echo '给老娘过来'; } } class Cuter implements Love { function love_me(...
2020-06-04 18:05:00 114
原创 php工厂设计模式和单例模式相结合
<?php/*工厂设计模式和单例模式相结合*///各种图形公共接口interface Shape { public function area(); public function grith();}//圆单例class Circle implements Shape { private static $radius = 0; private static $single; private function __clone() { }...
2020-06-04 14:44:30 206
原创 php观察者模式
<?php/*** 3.1php设计模式-观测者模式* 3.1.1概念:其实观察者模式这是一种较为容易去理解的一种模式吧,它是一种事件系统,意味* 着这一模式允许某个类观察另一个类的状态,当被观察的类状态发生改变的时候,* 观察类可以收到通知并且做出相应的动作;观察者模式为您提供了避免组件之间* 紧密耦合的另一种方法* 3.1.2关键点:* 1.被观察者->追加观察者;->一处观察者;->满足条件时通知观察者;->观察...
2020-06-04 14:43:45 106
原创 php工厂模式
<?php/*工厂设计模式常用于根据输入参数的不同或者应用程序配置的不同来创建一种专门用来实例化并返回其对应的类的实例。我们举例子,假设矩形、圆都有同样的一个方法,那么我们用基类提供的API来创建实例时,通过传参数来自动创建对应的类的实例,他们都有获取周长和面积的功能。*/interface Shape { public function area(); public function grith();}class Circle implements Shape {c...
2020-06-04 14:42:54 116
原创 php单例模式
<?php /*1.只能有一个实例 2.必须自行创建这个实例 3.必须给其他对象提供这一实例 总的来说,三私一公。 优点: 1.在单例模式中,活动的单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例。这样就 防止其它对象对自己的实例化,确保所有的对象都访问一个实例 2.单例模式具有一定的伸缩性,类自己来控制实例化进程,类就在改变实例化进程上有相应的伸缩性。 3.提供了对唯一实例的受控访问。 4.由于在系统内存中只存在...
2020-06-04 14:42:11 139
原创 api安全
本篇承接上一篇登录安全,如果登录都不安全,需要登录前提的api调用当然也不安全。登陆后,后端返回token。调用接口时,前端需要生成签名并通过rsa加密。1.参数token通过header传递,其他参数一律url传递,除了接口所需的基本参数,还需要客户端时间戳(精确到秒,服务器设置为上海时区),签名sign(生成后rsa公钥加密,再用base64_encode加密)2.签名的算...
2020-02-20 17:24:11 420
原创 登录安全
1.前端将用户名和密码rsa加密,后端解密2.为防止登录数据被拦截而被复制登录,登录数据添加当前时间戳或加密后唯一字段;后端每一次登录成功后将时间戳或唯一字段加工后作为一个redis键名保存,值随便,缓存时间和登录有效时间一致,以保证登录数据的一次性,不可复制。3.登陆成功后后端返回token作为调用api的有效凭证...
2020-02-20 17:13:12 1020
原创 常用加密算法
1.Base64-encoded设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。Base64-encoded 数据要比原始数据多占用 33% 左右的空间。2.MD5计算字符串的 MD5 散列值3.sha1计算字符串的 sha1 散列值4.rsa一种非对称加密算法。2009年12月12日,编号为RSA-768(768 ...
2020-02-06 13:23:33 206
原创 go开发聊天室(基于tcp协议)
此项目参照韩顺平老师教程,特此感谢。项目结构如下:client,server分别是客户端和服务端代码包,common为公共文件函数包;main,model,processf分别存放主程序文件,结构体文件和方法文件,其中server下model中的Dao.go是redis连接池配置文件,引用了redis的git代码包地址:https://github.com/gomodule/red...
2019-12-24 14:32:32 309
原创 第一个golang小项目--客户管理
参考韩顺平老师教程,自己摸索出来的适合go入门的mvc小项目。文件结构如下:main.go为入口文件,modelCustomer.go,customerView.go,serviceCustomer.go分别为mvc文件。main.go:packagemainimport("learn/customerManage/view")funcmai...
2019-11-29 15:40:52 254
原创 php实现风车型数据排列问题
题目:<?php// 实现一个function foo($num) 完成如下功能//// foo(1) = [[1]];// foo(2) = [ [1,2]// [4,3] ];// foo(3) = [ [7,8,9]// [6,1,2]// [5,4,3] ];// foo(4) = [ [7,8...
2019-10-17 19:12:50 164
原创 linux之apache部署php(源码)
本文参考文档https://blog.csdn.net/zl834205311/article/details/82856817 https://blog.csdn.net/u011280342/article/details/80024016笔者是在windows安装的VWware虚拟机,装载CentOS7 64位系统。源码版本,ap...
2019-09-21 16:19:29 820
原创 laravel5.8消息通知浅析
创建通知:php artisan make:notification InvoicePaid这条命令会在app/Notifications目录下生成一个新的通知类。<?phpnamespace App\Notifications;use Illuminate\Bus\Queueable;use Illuminate\Notifications\Notification;...
2019-07-17 21:05:09 534
原创 laravel发送队列定时邮件
这里是两个功能融合在一起:发送邮件和队列排序,我们分两步完成。一.发送邮件1.修改.env配置文件,MAIL_DRIVER=smtp //驱动有很多种,免费好用的就这种MAIL_HOST=smtp.163.com //若是qq邮箱,则为smtp.qq.comMAIL_PORT=465 //若MAIL_ENCRYPTION=ssl,否则2525不变MAIL_USERNAME=15...
2019-07-11 17:30:40 862
原创 laravel
近几年兴起的php框架,目前已更新至5.8版本。推荐新手学习途径:laravel学院https://laravelacademy.org/laravel-docs-5_8。
2019-04-28 16:50:40 316
原创 phpexcel导出复杂样式excel
后端采用tp5框架,最好使用composer在tp5根目录引入phpexcel,在vendor目录下生成,引用时‘use\PHPExcel‘即可。具体操作为:到Packagist官网https://packagist.org/packages/phpoffice/复制phpexcel加载指令,composer require phpoffice/phpexcel,项目根目录运行。此样...
2019-02-26 18:50:08 2384
原创 页面table
如上,视频背景上期已发布,这期讲讲页面自定义表格,后端是php,使用tp5框架。html:<table width="90%" border="1" style="border:1px solid gold;border-collapse:collapse;margin:0px auto;" > <tr > <td align="cent.
2019-02-26 18:15:24 582
原创 视频背景页面
<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2019-02-26 17:59:31 452
原创 百度地图自定义控件(涉及画多边形,坐标统计,坐标聚合和自定义地图控件)
先图为敬!画多边形,坐标聚合和范围统计,网上和百度官网已有不少例子,这里不再介绍,着重说一下自定义地图控件。控件使用方法:用户点击左上角多边形图标后,即可在地图画多边形圈地。当第一个图画完之后,控件随即显示所画区域的名称和统计的结果(你不用管是什么计算),最多可画五块地。选好地后,点击复选框进行统计显示结果。(配合eacharts显示,效果会更直观)最后,关闭控件,圈地也从地图清除,地...
2019-01-24 23:37:21 1393
原创 百度地图之判断点是否在圆内
为了判断一个点是否在我所展示的圆内外,可以调用BMapLib.GeoUtils.isPointInCircle(point,circle)//point为目标点,circle为目标圆,调用前请先引入百度jsGeoUtils.js//地图添加圆var mPoint = new BMap.Point(current_lon,current_lat);var circle =...
2018-11-26 15:32:29 2410
原创 百度地图自定义控件
如图所示,在百度地图底部添加自定义控件,这里添加的是12个自定义图标,用于在地图上标示。百度有相关的自定义控件示例,这里展示以下自己的实现。var map = new BMap.Map("map_id");// 通过JavaScript的prototype属性继承于BMap.ControlZoomControl.prototype = new BMap.Control();//...
2018-11-26 15:15:25 1105
原创 百度地图自定义矩形选择框
百度地图中,当我们需要统计一定范围内符合需求的目标的数量时。要用到自定义画图工具:drawingMannager使用前,请先引入<script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></scr...
2018-11-26 15:05:38 3402
原创 百度地图API之地名不详细时设定范围查询
我们知道,百度提供了根据地址查询经纬的API:http://api.map.baidu.com/geocoder/v2/?address=地址&output=json&ak=你的百度ak但,如果你的地址比较模糊,比如只有小区名,而没有城市名和区名,此时调用该方法百度只会返回一条模糊查询的经纬度,中国同名小区可以说非常常见,所以有不小的概率返回的是同名小区而非你想要的结果。...
2018-11-26 14:22:52 537
原创 自定义php框架(篇二)
这篇就晒晒代码,从入口文件开始。index.php内容如下:<?php //入口文件 $arr=explode('?',$_SERVER['REQUEST_URI']); //区分是实例化控制器还是渲染页面加载css,js文件 if(count($arr)==1)//加载css,js文件 { $src_js_css=explo...
2018-10-29 23:15:11 722
原创 自定义php框架(篇一)
老是用别人的东西,虽然一时爽,但想做深度开发,哪有自己的东西用起来方便?那我们就自己弄一个php小框架,知根知底,想怎么改就怎么改,岂不爽哉?如图,mvc即框架名,旗下包含7个文件夹,让我一一道来。1.应用文件夹app这里定义了前后台两个模块index和admin,当然,还可以增加更多的模块,随你。每个模块包含了mvc三个文件夹,对应模型,视图和控制器。2.配置文件夹c...
2018-10-29 22:48:54 708
原创 fastadmin之crud模块
最近在研究fastadmin框架,一款由tp5和bootstrap搭建的快速开发框架,后面还将发布一些相关内容。我们都知道使用 ‘think php crud -t 表名'可以一键生成基本模块,再使用‘think php menu -c 控制器名’指令可以生成相应菜单,这菜单和已有的其他菜单是平级的,但如果我想在原有的常规管理菜单下生成这个子菜单呢?比如,在常规管理中要生成一个测试模块...
2018-09-12 16:10:59 2241
原创 二级关联之下拉显示选项之模糊搜索
效果如下:1.当输入公司部分名称是,模糊查询显示10项;2.当公司选定后,即显示当前公司名下的站点如果这是你想要或相近的效果,请继续。先上html,主要是公司和站点部分:<div class="main_in_search_item"> <div class="main_in_search_item_text">公司:</div>...
2018-08-01 17:55:53 2046
原创 回车键完成全页面光标跳转,快捷输入
一.思路筛选所有input[type='text']输入框,去掉readyonly属性的隐藏input,去掉日期输入框等无需或不能输入的input,剩下的就是可编辑输入inputs,对inputs进行遍历,添加回车‘keydown’或‘keyup’事件,让光标进行跳转。页面除了input,还有select下拉框,同样的道理,筛选所有select进行遍历,以便判断光标的跳转。二.jquery代码1....
2018-07-10 10:13:32 1566
原创 css总结
1.背景图片设置:background:url("img.jpg")2.div水平居中:margin:0px(上下),auto(左右自动对齐)3.图片和文字水平居中 img 添加属性align="absmiddle"(绝对居中)4.字体加粗:font-weight:bold5. <a>标签去下划线 text-decoration:none;添加下划线:text-decoration:...
2018-06-06 10:04:24 104
原创 小程序开发注意事项
1.var val=e.detail.valuer val的类型是tring,转成数字使用parseIn或parseFloat2.缓存 wx.setStorageSync()同步缓存 wx.setStorage()异步缓存,获取wx.getStorageSync(),wx.getStorage()3.因为wx:if是一个控制属性,需要将它添加到一个标签上。但是如果我们想一次性判断多个组件标签,我们...
2018-05-01 17:40:23 211
原创 微信公众号支付
涉及到微信支付的,申请对应的商户平台账号,先申请公众号对应的商户号,微信审核通过后会将商户号的账号密码等信息邮件你邮箱,登录商户号。1.发起支付申请,走完小三步,完成2.设置密钥API证书下载下来,退款会用到;安装操作证书后,就可以设置密钥了,一般设置成32位字母数字字符串,可到密钥生成网站或自己写函数生成,如APPSECRET="5e31c16192exxxxxxxxx24ec3c0efc45"...
2018-04-19 10:42:29 255
原创 公众号自定义分享
关于jssdk的基本配置,上一篇文章已经讲述,不再赘述。配置好后,获取基本参数wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:"<?php echo $appid; ?>" , // 必填,公众号的...
2018-04-19 08:43:10 478
原创 微信jssdk之微信浏览器上传图片
为了在公众号页面中上传图片,需要配置微信jssdk。各项配置操作流程,请参照微信官网:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115;为了提高代码复用性,封装了一下上传图片类:<?phpclass WxUploadImg{ //1.获取access_token,7000秒内,读取文件存档,否则重...
2018-04-18 21:34:33 1202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人