- 博客(289)
- 收藏
- 关注
原创 php 上传文件 读取文件单元格内容(excel/csv)
一、PHPExcel 读取csv文件 和 excel文件(.xlsx)https://github.com/PHPOffice/PHPExcel$filePath = 'example.xlsx';$inputFileType = \PHPExcel_IOFactory::identify($filePath);$objReader = \PHPExcel_IOFactory::createReader($inputFileType);$objPHPExcel = $objReader-&g
2022-05-26 17:40:18
714
1
原创 Yii2 处理密码
大部分开发者知道密码不能以明文形式存储,但是许多开发者仍认为使用md5或者sha1来哈希化密码是安全的。 一度,使用上述的哈希算法是足够安全的,但是, 现代硬件的发展使得短时间内暴力破解上述算法生成的哈希串成为可能。为了即使在最糟糕的情况下(你的应用程序被破解了)也能给用户密码提供增强的安全性, 你需要使用一个能够对抗暴力破解攻击的哈希算法。目前最好的选择是bcrypt。在 PHP 中, 你可以通过crypt 函数生成bcrypt哈希。 Yii 提供了两个帮助函数以让使用crypt...
2021-10-25 11:06:13
370
原创 Yii2 加密
在本节中,我们将回顾以下安全问题:生成随机数据 加密和解密 确认数据完整性生成伪随机数据(Generating Pseudorandom Data)伪随机数据在很多情况下都很有用。 例如,当通过电子邮件重置密码时, 您需要生成一个令牌,将其保存到数据库中,并通过电子邮件发送给最终用户, 这反过来又会允许他们证明该帐户的所有权。 这个令牌是独一无二且难以猜测的,否则攻击者可能会预测令牌的值并重置用户的密码。Yii 安全助手类简单生成伪随机数据:$key = Yii::$app->
2021-10-25 11:05:20
335
原创 Yii2 加密解密
我们做程序的时候,加密解密是绕不开的话题,使用yii2开发应用的时候,都内置了哪些有关加密解密(安全)方便的支持那?本文将为你揭晓。相关环境操作系统及IDE macOS 10.13.1 & PhpStorm2018.1.2 软件版本 PHP7.1.8 Yii2.0.14在yii2中,管理加密解密的库叫做Security,它以yii2组件的形式存在,因此你可以通过Yii::$app->security来获取并使用它。Security组件源代码位置如下vendor/yiiso
2021-10-25 11:04:20
744
原创 vue 时间戳转日期
filters: { formatDate: function (date) { var d = new Date(date); var year = d.getFullYear(); var getMonth = d.getMonth() + 1; var month = getMonth < 10 ? '0' + getMonth : '' + getMonth; var day = d.getDate() .
2021-10-13 16:43:51
243
原创 使用js-audio-recorder报浏览器不支持getUserMedia
其实这是因为浏览器不支持http:IP开头的路径,认为这个路径不安全浏览器只支持file:,https:,http://localhost,解决办法:chrome地址栏输入:chrome://flags/#unsafely-treat-insecure-origin-as-secure然后就ok了...
2021-08-20 18:13:52
2121
2
原创 js怎样判断图片链接是否有效
1. 仅验证一张图片链接:function checkImgExists(imgurl) { return new Promise(function(resolve, reject) { var ImgObj = new Image(); ImgObj.src = imgurl; ImgObj.onload = function(res) { resolve(res); } ImgObj.onerror = func.
2021-07-28 11:53:04
3411
1
原创 IntersectionObserver-监听元素是否进入了设备的可视区域之内
<script> let intersectionObserver = new IntersectionObserver(function(entries) { if (entries[0].isIntersecting) { console.log('进入可视区域'); } else { console.log('移出可视区域'); } }); intersect...
2021-07-15 14:07:19
667
原创 js、jQuery 获取文档、窗口、元素的各种值
javascript:文档:是整个document所有的内容浏览器当前窗口文档body的宽度: document.body.clientWidth;(仅仅是body的width) 浏览器当前窗口文档body的高度: document.body.clientHeight;(仅仅是body的height)浏览器当前窗口文档body的宽度: document.body.offsetWidth;(width+border); 浏览器当前窗口文档body的高度: document.body.offsetH
2021-07-15 11:12:00
352
原创 css实现实心三角形、有边框的三角形和空心三角形
1、实心三角形<div class="up"></div> <!--向上的三角形--><div class="down"></div> <!--向下的三角形--><div class="left"></div> <!--向左的三角形--><div class="right"></div> <!--向右的三角形-->/*想获取朝那边三角形,给相反的一
2021-07-08 17:40:39
1059
原创 highcharts 点击事件
$('#chart-topic-emotion').highcharts().series[0].data[0].firePointEvent('click', event);$('#chart-topic-emotion').highcharts().series[0].points[0].firePointEvent('click', event);
2021-06-09 16:33:53
1037
原创 Sublime text 列编辑
同时编辑多行mac全选需要编辑的内容,Command+Shift+L即可编辑多行1windows全选需要编辑的内容, Ctrl+Shift+L即可编辑多行
2021-06-03 17:41:13
1641
原创 HTML Email
带格式的邮件,其实就是一张网页,正式名称叫做HTML Email。它能否正常显示,完全取决于邮件客户端。大多数的邮件客户端(比如Outlook和Gmail),会过滤HTML设置,让邮件面目全非。我发现,编写HTML Email的窍门,就是使用15年前的网页制作方法。下面就是我整理的编写指南。1. Doctype目前,兼容性最好的Doctype是XHTML 1.0 Strict,事实上Gmail和Hotmail会删掉你的Doctype,换上这个Doctype。<!DOCTYPE htm
2021-06-02 10:37:17
996
原创 html中的特殊符号
html中的特殊符号 符号 说明 编码 符号 说明 编码 符号 说明 编码 " 双引号 " × 乘号 ×..
2021-06-02 10:19:03
1568
原创 国内外手机号码正则表达式
附上语言(文化)代码与国家地区对照表:国家/地区 语言代码 国家/地区 语言代码:简体中文(中国) zh-cn 繁体中文(台湾地区) zh-tw 繁体中文(香港) zh-hk 英语(香港) en-hk 英语(美国) en-us 英语(英国) en-gb 英语(全球) en-ww 英语(加拿大) en-ca 英语(澳大利亚) en-au 英语(爱尔兰) en-ie 英语(芬兰) en-f
2021-05-25 16:59:46
3636
原创 编写HTML格式的邮件注意事项
1、head中的style定义无效:一般写网页,喜欢在head中定义css样式,可惜在HTML格式的邮件中有的邮箱会失效。2、结构尽量简单,最好使用table布局,可以先使用table作为最大的父级,需要居中,可以是设定align=”center”。这样做可以保证在CSS样式失效、或者html被禁用的情况下最大程度的还原布局和样式。3、不要使用JavaScript和Flash,一般会被过滤的。4、使用内联CSS样式,什么元素需要什么样式就用style写内联的CSS,如&l...
2021-04-30 12:56:08
561
原创 yii cache 缓存命令
用命令从控制台刷新缓存yii cache 显示可用缓存组件yii cache/flush cache1 cache2 cache3 刷新缓存组件:cache1,cache2 和 cache3yii cache/flush-all 刷新所有缓存组件
2021-04-29 15:38:11
306
原创 圆环进度条
https://github.com/kottenator/jquery-circle-progresshttp://kottenator.github.io/jquery-circle-progress/
2021-04-25 18:12:49
253
原创 关闭表单自动填充 autocomplete=“off“失效
autocomplete="off" 失效使用:autocomplete="new-***"比如:autocomplete="new-text"举例:<input type="text" name="username" id="username" autocomplete="new-text">
2021-04-25 18:06:28
550
原创 composer 超时 或 引用npm项目
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/Cellar/composer/1.9.1/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223Fatal error: Allowed memory size of 161061...
2021-04-25 14:12:50
176
原创 composer 内存不够 COMPOSER_MEMORY_LIMIT=-1
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 32 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Rule.php on line 62COMPOSER_MEMORY_LIMIT=-1 composer require <package name>
2021-04-21 20:53:56
1118
原创 锚点定位,jquery定位到页面指定位置
jquery锚点定位$('body,html').animate({scrollTop: $('#ter1').offset().top}, 500);#ter1是你要定位的id对象,500是0.5秒执行完成
2021-03-30 15:22:25
1063
原创 jQuery绑定动态生成的元素,事件绑定失效
Old Code:$('code').click(function () { console.log($(this).text());});New Code:(.container 是<code>所在的div)$('.container').on("click", "code", function () { console.log($(this).text());});
2021-02-09 11:23:56
148
原创 MAC下安装nginx
1.安装brew:官网地址:brew.sh/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2.查找nginx版本brew search nginx3.安装nginxbrew install nginx#默认是最新版本#指定版本安装方式为:nginx@版本号eg:brew install nginx@1.12.24.卸载ng
2021-01-11 17:14:21
1185
1
原创 php 正则匹配 只匹配:中文/字母/数字/下划线
php 正则匹配 只匹配:中文/字母/数字/下划线'/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]{1,10}$/u'
2021-01-08 17:50:54
2060
原创 Git合并时遇到冲突或错误后取消合并
当合并分支时遇到错误或者冲突,分支旁边会多出“|MERGING”这个东西有这个状态存在时,会导致后面想要再合并的时候提示如下所以需要先取消这次合并,使用“git merge --abort”命令
2020-10-22 23:57:40
2821
原创 Git:合并特定commits 到另一个分支
经常被问到如何从一个分支合并特定的commits到另一个分支。有时候你需要这样做,只合并你需要的那些commits,不需要的commits就不合并进去了。合并某个分支上的单个commit首先,用git log或GitX工具查看一下你想选择哪些commits进行合并,例如:dd2e86 - 946992 -9143a9 - a6fd86 - 5a6057 [master] \ 76cada - 62ecb3 - b886a0 [feature]...
2020-08-05 18:52:27
655
1
原创 fa fa-spinner 旋转小圈圈图标
<!DOCTYPE html><html><head><title>Font Awesome Icons</title><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7
2020-07-15 19:20:00
1400
原创 Notepad++添加进右键菜单
假设Notepad++安装在:D:\Program Files\Notepad++\文件完整路径:D:\Program Files\Notepad++\notepad++.exe/*=====================================*/1.手工方式打开注册表打开HKEY_CLASSES_ROOT\*\Shell新建子项Edit with Notepad++在子项Notepad++下新建子项Command修改子项Command的默认字符串值为:"D:\Progra
2020-07-15 18:48:42
280
原创 php 简单工厂模式
实例场景:短信发送功能模块。现在我们使用了三个商家的,分别是阿里云、百度SMS、极光的短信服务,在不同业务中可能使用不同的短信发送商,使用简单工厂可以方便的完成这个需求。类图:代码:<?phpinterface Message { public function send(string $msg);}class AliYunMessage implements Message{ public function send(string $msg){ .
2020-07-15 18:48:30
235
原创 PHP 五种常见的设计模式
策略模式策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)实现步骤:1.定义抽象角色类(定义好各个实现的共同抽象方法)2.定义具体策略类(具体实现父类的共同方法)3.定义环境角色类(私有化申明抽象角色变量,重载构造方法,执行抽象方
2020-07-15 18:48:19
324
原创 php 二分查找
PHP实现二分查找法二分查找法需要的数组是一个有序的数组,假设我们的数组是一个递增的数组,首先,我们需要找到数组的中间位置。一、要知道中间位置就需要知道起始位置和结束位置,然后取出中间位置的值来和我们的值做对比。二、如果中间值大于我们的给定值,说明我们的值在中间位置之前,此时需要再次二分,因为在中间之前,所以我们需要变的值是结束位置的值,此时结束位置的值应该是我们此时的中间位置。三、反之,如果中间值小于我们给定的值,那么说明给定值在中间位置之后,此时需要再次将后一部分的值进行二分,因为在中间
2020-07-15 18:48:07
276
原创 用PHP写一个同时包含单例模式和工厂模式的简单示例。
<?phpclass Factory{ public static function createInstance() { return DB::getInstance(); }}class DB{ private static $db; private function __construct(){} private function __clone(){} public static function getI.
2020-07-15 18:47:53
300
原创 php 单例模式
php 单例模式使用注意事项: 1.使用时不能用反射模式创建单例,否则会实例化一个新的对象 2.使用懒单例模式时注意线程安全问题 3.饿单例模式和懒单例模式构造方法都是私有的,因而是不能被继承的,有些单例模式可以被继承(如登记式模式)<?php/* 1.单例模式只能通过自身进行实例化 2.拥有一个保存对象实例的静态成员变量 3.拥有一个访问这个实例的公共静态方法(常用getInstance()方法进行实例化单例类 ) 4.通过instan...
2020-07-15 18:47:40
163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人