- 博客(56)
- 资源 (5)
- 收藏
- 关注
原创 php的Url 安全的base64编码解码类
用于 http传输的,安全的url base64编码,主要对 +,-,=字符进行了处理,以防止注入的产生
2023-12-17 16:35:32 1018
原创 Mysql 8.0 实现分组后获取组内极值算法 broup by
Mysql 8 中无法用低版本的 二次子查询实现,把数据集升序排列后,再外层做group By分组,取出第一条的方式。因此引入了一个新函数,自动生成行序列,并且行序列按照指定字段分组后再根据自定字段进行排列原理如下。goupbyfield为分组字段,sortfield为组内需排序的字段。最后外层取rn=1的记录,就是最终分组好的结果值。
2023-11-14 19:05:48 287
原创 php 取上周一的日期(任何情况下)
php 的strtotime 功能很强大,但是有个坑,使用时要注意,否则会引发故障。先上代码if (date('w') == 1){ //当前周一时的处理 $sMondayDay = date('Y-m-d',strtotime('last monday')); //当前周一,取上周一}else{ //当前不是周一时处理 $sMondayDay = date('Y-m-d',strtotime('-1 week last monday')); //当前非周一,取上前推一周取周一}
2022-01-18 11:00:35 951
原创 withoutOverlapping()使用redis缓存,因故障导致对应的定时任务不被执行的问题处理
laravel的定时任务使用了withoutOverlapping()导致的故障排除
2021-12-15 14:52:28 1653
原创 php检测utf8mb4字符的方法与清理方法
/** * 字符串基础工具 * @author JerryLi * @version 20210724 */class StringBaseTool{ /** * 截断字符串,保持固定的暂用字节长度 * @param string $sStr 源字符串 * @param int $iMaxLen 保留字节长度 * @param string $sRepStr 替换字符串 * @return string */ stati.
2021-07-24 15:52:15 736
原创 升级php7.4 laravel lumen报错Trying to access array offset on value of type null
最近升级php 7.0到 php7.4,升级完后发现lumen跑不起来了,报如下错误:lumen 环境是 5.5.2In ServiceProvider.php line 84: Trying to access array offset on value of type null[2021-05-06 20:19:14] lumen.ERROR: ErrorException: Trying to access array offset on value of type null in..
2021-05-06 20:35:57 6066 1
原创 php 自动识别 GBK转换UTF8的方法(源码)
不多说了,看标题就明白了,生产环境的代码,需要的拿去。如果用得上,感恩您的打赏检查是否为UTF-8字符集 检查是否为UTF-8 BOM文件 将GBK文件转换成UTF8文件 检查是否带UTF-8的BOM头 移除字符串的BOM<?php/** * 字符串BOM检测以及UTF-8的转换处理 * @author JerryLi * */class StringBom{ /** * 移除字符串的BOM * * @param stri.
2021-04-02 10:18:17 259
原创 随机比例算法
随机比例算法缘起,由于业务需求的需要,需要在保持相对稳定的比例下,生成随机选择数。应用场景此类算法常用于限定资源下的,负载均衡算法,抽奖算法等等。关键点在需要保持在某个基数量下,按照比例分布随机值。应用举例例如:有3个供应商(后面简称SP),每次从中选择一个SP提供服务,但是需要保持每次是进行随机的选择,但命中率要保持总量相对稳定的比例;如:1号SP 5%,2号SP 25%,3号SP 70%,总量在1000次或者1万次的分配中保持按照指定的比例均衡分布。以上的应用举例是实际...
2021-02-09 16:36:08 1564
原创 PHP在UTF8下生成的.csv在excel中乱码问题解决
其实原理很简单,因为office是在windows下的,用的是ansi字符集,所以打开utf8的文件时,中文内容会变成乱码。这时需要告诉excel当前的.csv文件是utf8格式的,他就能正常识别。解决方式是在创建文件后,在最开头写入一个 UTF8-BOM头标识,excel就知道这个文档用utf8格式打开。代码如下,请参考输出bom头的这行。$sCsvFile = storage_path('app/csv_vc_cb_'. time() . rand(100, 999) .'.csv');
2020-12-17 14:27:24 365
原创 Dotenv 坑一枚, “#”问题导致数据丢失
Dotenv 不介绍了,反正php的今天配置都用它.env。不知道的自己补一下课。之前用.env的时候,配置文件中的密码字段使用了 wsde346gf#redis 这样的密码。类似这样#环境配置[local | dev | prod]APP_ENV=local#调试参数:线上环境必须改为falseAPP_DEBUG=trueAPP_KEY=40e8dbd8a3850a6a89...
2019-09-24 18:36:27 884
原创 php 中文转拼音最全字符集函数(包含20902个基本汉字+5059生僻字)
与传统的范围比对方式不同,这个函数采用直接字符匹配的方式翻译拼音,不需要做gbk转码。而且当遇到遗漏的中文字符时,也可手动维护加入map表,扩展简单。包含20902个基本汉字+5059生僻字,几乎全了。代码直接拿走吧。<?php/* 测试用例 $start_time = microtime(1); var_dump(Str2PinyinService::pinyi...
2019-05-14 15:28:50 210419
原创 汽车VIN编号 有效性检查 PHP 验证算法
用于车辆的vin 校验是否有效,原理:利用 vin 协议中的第9位,校验值对vin的内容进行校验。防止用户输入无效或错误的校验码。
2016-11-23 09:35:15 3353
原创 php中实现escape函数
function escape($sStr, $sInCharset='GBK', $sOutCharset='UTF-8'){ return str_replace('\U', '%u', strtoupper(trim(json_encode(convert_encoding($sInCharset, $sOutCharset, '车猫(17098150465)')), '"')));
2016-06-06 20:14:58 600
原创 RSS 2.0 php生成类,快读生成需要xml文件
在项目中用到的RSS 2.0版本的php生成类。只需要根据数据结构吧数据输入进去就能生成一个xml文件,并通过函数输出。
2015-10-22 19:37:12 883
原创 php中CRC32遇到负数问题的解决方案
在使用PHP的CRC32函数的时候,因为在32位系统中,int是4个字节带符号位,因此输出结果最高位为1的时候,就变成负数了。使用以下方式可以让输出结果不含符号位sprintf('%u', crc32($Node['HBAID']));如果你遇到这样的问题,按照上述方式处理就能药到病除。
2015-01-27 17:13:53 6035
转载 MYSQL强制使用索引和禁止使用索引
1、mysql强制使用索引:force index(索引名或者主键PRI)例如:select * from table force index(PRI) limit 2;(强制使用主键)select * from table force index(ziduan1_index) limit 2;(强制使用索引"ziduan1_index")select * from
2014-11-24 16:19:35 3319
原创 php导出CSV时,超长数字精度丢失问题与前导0的字符串丢失0的问题解决
php生成的CSV有时候会遇到两个特殊情况:1、输出的字段中,含有超长数字(18位的数字)比如身份证:122121197410180016,就算输出时字段加上"",还是会被识别成数字,并且丢失精度,后面的4位会变成0,象这个样子1221211974101800002、输出的字段中,含有前导0的数字字符串,会被强制丢掉前导0。比如:01082151122,或者00001,00002,系统会强
2014-11-14 10:29:28 7182
原创 php 全角数字转半角 与 手机号码验证
//全角数字转换成半角数字的方法(效率最高的方式)$sData = '13588243897';$aNumber = array('0'=>0, '1'=>1, '2'=>2, '3'=>3, '4'=>4, '5'=>5, '6'=>6, '7'=>7, '8'=>8, '9'=>9);echo strtr($sData, $aNumber);//手机号码的号段验证(13
2014-09-01 18:11:51 2555
原创 js jquery版本的 金额千分位转换函数(非正则,效率极高)
没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的。正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些)。因此专门写了一个纯数值处理最后输出字符串个 金额千分位处理函数,并封装成jQuery函数包,处理时效率很高,可高频率的使用,直接上代码。还有min压缩版本可点击连接下载。如果你不是jQuery环境,直
2014-08-24 22:22:46 13636 2
原创 debian mysql 定时自动备份的脚本
#!/bin/shLOG=/var/log/mysql-backup.log# mysql db infoUSER_ROOT=XXXXXXUSER_PWD=XXXXXXX# mysql data stored dirTODAY=`date +%F`STOREDIR=/mnt/tf-card/mysql-back/$TODAYmkdir $STOREDIRecho "*** PAT
2014-08-08 09:53:05 1954
原创 js 判断 当页面无法回退时(history.go(-1)),关闭网页
在做一个Web项目时遇到一个需求,当页面没有前驱历史记录时(就是当前为新弹出的页面,没法做goback操作即history.go(-1)),点击返回按钮时直接关闭页面,否则就退回到前一页。遇到的问题就是如何判断 是否有history可以回退,这个非常麻烦,因为没有这样的函数直接能获取到,只能通过history.length这个变量做变通的处理,但是对于IE,和非IE的length的返回值不同,
2014-08-06 15:54:48 33526 3
原创 PHP的UTF-8中文转拼音处理类(性能已优化至极致)
优化了传统的拼音转换处理类的算法,专门针对UTF-8字符集进行处理。如果你使用GBK或GB2312字符集,只需要去掉iconv函数,直接赋值,不需要转换就行。
2014-07-15 15:38:27 30306 3
原创 关于使用一条SQL语句 找出同时符合多个tag条件的记录集合算法
Web应用中,对记录集的Tag运算中 找出同时符合多个tag条件的记录集合算法,SQL 语句解决方案。
2014-06-11 16:21:19 6782 1
原创 独家专供:PHP的URL验证正则算法,有史以来最强悍的
经过多年的积累,逐步完善写出的url验证算法function isUrl($s){ return preg_match('/^http[s]?:\/\/'. '(([0-9]{1,3}\.){3}[0-9]{1,3}'. // IP形式的URL- 199.194.52.184 '|'. // 允许IP和DOMAIN(域名) '([0-9a-z_!~*\'()-]+\.)*'
2013-10-11 16:22:46 4622
转载 jQuery获取checkbox状态时attr('checked')返回undefined的问题
$('#checkbox1').prop('checked') - in jQuery 1.6+, usually the way to go$('#checkbox1').is(':checked') - all jQuery versions, but slower$('#checkbox1').attr('checked') - NOT in jQuery 1.6 - but
2013-09-07 17:56:05 800
原创 android 的unregisterReceiver报错处理
当注册广播时,常会遇到的问题就是重复注销广播处理函数是会报错,而且会让进程奔溃。一般来说,可以通过一个变量来保存广播处理是否被注销,每当注销时,将它标记为false。如果再次注销时遇到false就不对他进行注销处理。但是程序比较复杂的时候会比较难控制。可以使用try catch方式捕获错误。try { unregisterReceiver(receiver);} ca
2013-09-04 15:26:44 18082 3
原创 eclipse升级后Android使用JAR报错
升级ADT22以后,老项目编译时后遇到 NoDefFoundClassError 这个错误,因为项目中使用了jar文件。遇到此问题的解决步骤
2013-09-04 11:54:06 1137 3
原创 fileziller 恢复 站点管理器 内的ftp帐号方法
由于系统坏了重装了系统,以前的fileziller中配置的服务器链接信息列表很多,新装fileziller后即使复制以前的安装目录过来,站点管理器内还是空荡荡的。这些服务器链接的配置信息非常重要,如何恢复呢?在一次无意中发现fileziller的系统报错,暴露了他的在windows的user目录下存有配置信息,路劲如下:C:\Users\你的用户名\AppData\Roaming\Fi
2013-08-29 07:43:14 1183
转载 TM2013自定义消息记录保存目录
从TM2008版记偶一直使用它,因为侧重在办公环境中使用,具有无广告、抗骚扰、风格简约、安静高效的特点。当然TM的版本更新速度很慢,偶一直使用TM2009版现今天。今天帮朋友下载QQ软件,无意中发现腾讯发布了TM2013,随即下载试用。发现TM2013界面与QQ2012非常类似,只是功能较QQ2012少了许多(TM与QQ功能比较不是本文的重点)。TM2013是乎是QQ与TM版本的集合,
2013-08-26 00:42:12 2215
原创 Mysql 启动失败 报错 1067
Mysql装好后,重启电脑第二次发现服务无法启动。提示如下:------------------------MySQL 服务无法启动。系统出错。发生系统错误 1067。进程意外终止。------------------
2013-08-25 21:12:09 5098
转载 php的curl函数模拟post数据提交,首次速度非常慢的处理办法
如果你用 curl_setopt 函数来与远程的webservice或者抓取页面的处理时,有时会遇到很奇怪的现象,首次访问的速度异常的慢,基本上要5s-10s的时间让人奔溃。但是怎么查也差不出问题出在哪儿,最近发现一个文章写了处理这个问题的方式。先从解决问题入手:curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
2013-08-16 19:55:16 10065
原创 PHP 的本地文件缓存处理类(非常高效)
为了兼容服务器上没有安装memcache的内存缓存,专门开发了一个基于PHP5环境的,高效本地文件缓存类。支持缓存失效时间的处理,并且非常节省内存。支持3个操作set(), get(),del(),详细使用方式请见备注中的example<?php/** * php文件缓存类 FileCache * @author Jerryli(hzjerry@gmail.com) * @vers
2013-05-13 21:46:21 4288
转载 用js实现php里面的函数库 strtr()这个很好用
http://phpjs.org/functions/国外的一搓牛人,用js实现了php里面所有的函数。这个函数库很好用,熟悉php的话,写js的时候可以看看,里面有没有要用的到的函数。
2013-04-25 14:35:03 1297
转载 ERROR 2003:Can't connect to MySQL server on 'localhost' (10061)
mysql无法启动,提示:ERROR 2003:Can't connect to MySQL server on 'localhost' (10061)解决步骤:1、删除c:\windowns下面的my.ini2、[安装目录]\MySQL\MySQL Server 5.4\binmysqld -nt -remove 删除服务mysqld -nt -ins
2013-04-20 15:12:03 758
原创 Character set 'utf-8' is not a compiled character set and is not specifie
mysql如果遇到: Character set 'utf-8' is not a compiled character set and is not specifie 时候打开mysql安装目录,找到my.ini将default-character-set=utf-8修改为default-character-set=utf8
2013-04-20 15:04:28 3783 1
SolarTerms.zip
2021-08-01
phpMyAdmin-4.3.12-all-languages
2015-03-14
owncloud 7.0.2 service 服务器端PHP源代码
2014-09-15
jQuery.formatMoney
2014-08-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人