后端
upcto
分享过去的、现在的一点记录
展开
-
Window server 2008服务器,think-queue自动断开,宝塔redis爬坑记录
think-queue 不定时停止服务服务器管理器中的应用程序报一大堆的错误。原创 2023-09-19 14:46:29 · 1174 阅读 · 14 评论 -
java封装国密SM4为 jar包,PHP调用
刚用java弄了个class给php调用,本以为项目上用到java封装功能的事情就结束了,没想到又来了java的加密需求,这玩意上头,毕竟不是强项,没办法,只好再次封装。但是这次的有点不一样,因为引用了几个jar包,如果java代码生成class文件去调用的话,会出现jar包无法加载的情况,网上说class也能引用jar,但是我尝试过很多次都没实现。原创 2023-09-08 21:29:48 · 1119 阅读 · 10 评论 -
PHP调用java class 类实现文件签名
起因:对接某平台API接口,发送的文件需要做 SM3 签名,对方平台是java写的,只有java加密示例,照着java的加密算法翻译为PHP版本,在编码转换上始终有些差异。没办法,只能想办法使用他们的java方式。原创 2023-09-08 15:14:27 · 599 阅读 · 4 评论 -
PHP多维数组多条件合并
7、在新元素中,存储当前子项的id,并多次使用implode()函数将当前子项的id和name合并为一个字符串。6、对于每个子项,生成一个以muid_加上当前子项的muid数组中的值组合作为键名的新元素。通过遍历原始数据数组$data,将每个元素转换为指定格式的新元素,并构建一个新的数据数组。4、在新元素中,创建一个空的item数组,用于存储该对象下的所有子项信息。9、将当前子项的id作为键,将当前子项的完整信息存储到detail数组中。5、遍历当前对象的item数组中的每个子项。原创 2023-06-27 10:52:49 · 370 阅读 · 12 评论 -
获取数组中某个key之前的数据 以及 获取数组中某个key和他之前数据
获取数组中某个key之前的数据 以及 获取数组中某个key和他之前数据。原创 2023-04-17 11:16:00 · 159 阅读 · 5 评论 -
PHP 将原数组中出现的每个值作为新数组的键,对应的原数组的下标作为新数组的值
【代码】PHP 将原数组中出现的每个值作为新数组的键,对应的原数组的下标作为新数组的值。原创 2023-04-13 10:50:21 · 199 阅读 · 0 评论 -
PHP多种方式实现:计算多维数组中指定字段的数量总和,并存到新的数组中
使用foreach方法和使用array_reduce函数的效率没有明显差别,所以在实际使用中,可以根据习惯和实际情况选择更加适合自己的方法。在处理大量数据时,array_reduce函数具有更好的可读性和易用性,同时也能更好地提高代码的运行效率。因为array_reduce函数使用了内置的C语言编写的底层优化,避免了PHP解释器中间的环节,从而提高了执行效率。不过对于小量数据的处理,两种方法的效率差别是微不足道的,所以就要看具体情况而定。原创 2023-04-13 09:34:53 · 330 阅读 · 1 评论 -
PHP 去除字符串中的所有空格,比trim()更加好用
原来在注册的时候,用户名中间多输入了1个空格,那么这里就引发了一个问题,PHP去掉空格不能再单纯的使用trim()了,有可能他中间也会误输入空格。最近客户反馈,说用户名没错,密码也没错,注册时用的就是那个账号密码,但是就是无法登录,问到底是什么原因。好吧,写一个去除空格的类,获取前端参数的时候直接 过滤一下就可以了。向客户要来账号和密码,经过一顿查找,终于发现问题所在。原创 2022-11-13 09:21:59 · 822 阅读 · 0 评论 -
ThinkPHP6.0升级到6.1之后,文件上传报 Class ‘think\facade\Filesystem‘ not found 错误的解决方案
ThinkPHP6.0升级到6.1之后,文件上传报 Class ‘think\facade\Filesystem’ not found 错误,真够郁闷的。接下来将上传部分做个更改,来适配无Filesystem扩展的状态。原创 2022-11-12 20:52:18 · 8349 阅读 · 0 评论 -
PHP 限制访问频率,Redis 通用不限制PHP框架版,支持毫秒缓存
之前“ThinkPHP6 限制访问频率,Redis版,支持毫秒缓存”针对 “ThinkPHP6 限制访问频率,Cache版”做了升级,考虑有的朋友使用的框架不是ThinkPHP6,索性再做一个PHP Redis通用版不限制PHP框架的访问频率控制类,有需要的直接拿去复用就好,非常方便。首先我们要安装和配置好PHP Redis缓存所以需要环境条件使用注意事项:①系统需要安装Redis②启用php redis扩展PHP 简洁版Redis连接类。原创 2022-11-10 12:07:48 · 747 阅读 · 0 评论 -
ThinkPHP5\6 使用mongodb方法
# ThinkPHP5\6 配置mongodb==1、首先使用Composer安装ThinkPHP5\6的MongoDb驱动:==```shellcomposer require topthink/think-mongo```==2、在app下的config文件夹中的 database.php 配置连接信息==```php'mongo'=>[ 'type' => 'mongo', 'hostname' => '127.0.0.1', 'database原创 2022-10-30 20:05:38 · 2225 阅读 · 7 评论 -
Uniapp 接入微信H5登录,并获取openid和unionid 含Sql、PHP完整代码
Uniapp H5接入微信登录,并获取openid和unionid。实现目标:通过微信H5获取openid和unionid、用户头像,以及实现登录。如果提示:api unauthorized 48001错误,那就需要把 scope=snsapi_base 改为 scope=snsapi_userinfo原创 2022-10-30 09:48:44 · 3256 阅读 · 2 评论 -
PHP 在图片中写入文字,并根据文字长度自动换行
将文字写如到PNG图片中,并根据图片的长度,限制文字的行宽,实现自动换行。在 校牌、海报、宣传册 等合成上非常实用。原创 2022-10-28 16:39:52 · 1087 阅读 · 0 评论 -
ThinkPHP6 API 单文件+多文件上传代码实现方式
开发中经常要用到接口上传 单文件或多文件,做个备忘录,有需要的同学直接copy。提交方式:form-data , 参数名 file[]原创 2022-10-27 21:43:16 · 1114 阅读 · 0 评论 -
ThinkPHP3、5、6 模板判断URL是否有权限访问
ThinkPHP3、5、6 View模板判断URL是否有权限访问,适用于按钮等操作。原创 2022-10-24 23:08:54 · 533 阅读 · 0 评论 -
PHP常用数组操作
代码如下:原文二、如何在数组中搜索并取出想要的数据1.引入库代码如下:PHP根据数据的value获取key代码如下:该处使用的url网络请求的数据。代码如下:原文二维数组转一维数组代码如下:对象转数组代码如下:获取数组中重复数据代码如下:原文过滤多维数组重复项代码如下:提取多维数组中的指定 键名 数组代码如下:php数组中去除重复的value值//多维转一维代码如下:将键名和键值设置为一样代码如下:将键值设置为与键名一样代码如下:原创 2022-10-23 14:31:48 · 198 阅读 · 0 评论 -
合并一个二维数组中相同项,其他数量则相加【改进版】
看到一篇关于 合并一个二维数组中相同项,其他数量则相加 的数组操作,他里面的键名都写死了,每次用起来否不方便,于是做了点修改。键名是写死的,用起来很不方便,也不适合作为公共函数调用,于是做了点修改。原创 2022-10-23 14:11:54 · 193 阅读 · 0 评论 -
ThinkPHP6 限制访问频率,Cache版
最近在开发的一个小项目,由于客户的服务器配置和带宽都比较小,特做了个简易版的访问频率限制实现代码如下,仅供参考/*** 检测用户接口访问频率* $action 字符串 自定义,建议使用 模块方法名称* $ttl 正整数 秒,默认1秒* $uid 用户ID,针对某个用户的ID的限制*} else {} }{$uid}/*** 检测用户接口访问频率* $action 字符串 自定义,建议使用 模块方法名称* $ttl 正整数 秒,默认1秒。原创 2022-10-22 21:28:41 · 596 阅读 · 0 评论 -
PHP 将两个数组合并,保持原有key,并保持在同一个维度
PHP 将两个数组合并,保持原有key,并保持在同一个维度。原创 2022-10-21 08:59:49 · 395 阅读 · 0 评论