-
PHP实现四种基本排序算法
[导读] 许多人都说算法是程序的核心,算法的好坏决定了程序的质量。作为一个初级phper,虽然很少接触到算法方面的东西。但是对于基本的排序算法还是应该掌握的,它是程序开发的必备工具。这里记录下冒泡排序,插入排序,选择排序,快速排序四种基本算法,分析一下算法的思路。 许多人都说算法是程序的核心,算法的好坏决定了程序的质量。作为一个初级phper,虽然很少接触到算法方面的东西。但是对于基本的排序算法还…- 306
- 0
-
PHP 精确运算函数bcadd,bcsub,bcmul,bcdiv
php 在使用加减乘除等运算符计算的时候会把未定义类型的操作数转成浮点数然后进行算术运算 有句话说的好,永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数 浮点数运算示例 $a = '49'; $v = '48.98'; echo $a - $v; 正常来讲这里应该返回 0.2 吧,可实…- 964
- 0
-
DophinPHP 插件与拓展
DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.34LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机制,集成多种灵活快速构建工具,可方便快速扩展的模块、插件、钩子、数据包。统一了模块、插件、钩子、数据包之间的版本和依赖关系,进一步降低了代码和数据的冗余,以方便开发者快速构建自己的应用。 目前Dp 大部…- 338
- 0
-
使用 composer 开发拓展包
当前 Thinkphp 版本 v5.1.39 LTS 由于tp5.1的图像验证码功能是基于session的,且不支持拓展成其他存贮方式。 在前后端完全分离的情况下,使用Jwt鉴权,验证码功能直接废了。所以我改装了一下 tp5.1 的验证码功能模块,通过 cache 的方式实现前后端分离的情况下,对验证码进行验证。 另外使用 Composer 方式创建一个库前后端分离的图片验证码库 1、建立一个仓库…- 444
- 1
-
thinkphp5 session 无法写入
如果开启了域名部署模式,设置如下 域名部署 'url_domain_deploy' => true, 'session' => [ 'id' => '', // SESSION_ID的提交变量,解决flash上传跨域 'var_session_id' => '…- 561
- 0
-
萤火商城v2跨域最优解决方案
正在体验萤火商城v2 版本,国内php开源商城,目前使用过的我觉得萤火做的是做的比较好的,相比其他商城使用技术较新 其中前后端完全分离,强类型严格模式开发已经秒杀了大部分产品,当然因为使用技术较新,对开发的技术人员水平要求更高 目前看到的开源版的功能仅仅够用,商业版还没推出,持续关注中... 项目介绍 https://gitee.com/xany/yoshop2.0 萤火商城V2.0,是2021年…- 717
- 0
-
thinkphp-queue队列详细说明
think-queue for ThinkPHP6 安装 composer require topthink/think-queue 配置 配置文件位于 config/queue.php 公共配置 [ 'default'=>'sync' //驱动类型,可选择 sync(默认):同步执行,database:数据库驱动,redis:Redis驱动//或其…- 1.1k
- 0
-
Laravel Please provide a valid cache path.
版本: Laravel 5.4 原因:手动删除 /storage/framework 下面的缓存文件夹 发现删除之后 laravel 并不会自动创建这几个目录, 直接提示错误 Please provide a valid cache path. 手动在 storage/framework 下面创建 sessions, views, cache 文件夹并给予可写权限问题解决- 649
- 0
-
php predis GEORADIUS 无法返回距离问题
今天安装 predis ^1.1 版本,按之前的项目使用方式使用GEORADIUS 发现 WITHDIST, 或者 WITHCOORD无效 无法返回距离或者经纬度。只能返回保存对象,一开始怀疑是否本地 reids 版本导致,于是进行代码测试 代码如下 // 经度 $longitude = (float)'110.153724'; // 纬度 $latitude = (float…- 312
- 0
-
crmeb Pro 接入IPYY、云极短信
一、代码更新 1、调用位置更新 \app\services\message\sms\SmsSendServices.php 文件内容,根据选择的接口切换注释的内容。 2、更新函数库 注意:更新函数库的代码需要重启 swoole 才会生效 \app\common.php 最底部新增以下代码, 代码包含ipyy,云极短信的接口调用方式 二、导入数据库 1、导入配置栏目,方便配置参数。【必须导入】 2、…- 95
- 0
-
PHP flock 文件锁处理并发
利用 PHP flock 文件锁处理并发 利用flock()函数对文件进行加锁(排它锁),实现并发按序进行。 flock(file,lock,block)有三个参数。 file 必需。规定要锁定或释放的已打开的文件。 lock 必需。规定要使用哪种锁定类型。可能的值: LOCK_SH - 共享锁定(读取的程序)。允许其他进程访问该文件。 LOCK_EX - 独占锁定(写入的程序)。防止其他进程访问…- 426
- 0
-
Category Order and Taxonomy Terms Order 慢卡顿
由于 WordPress 分类本身无法排序 Category Order and Taxonomy Terms Order 一款可以对分类进行排序管理的wordpress插件,对一些有着调用类功能的主题非常有用 这款插件本身内联了 Facebook 跟 Twitter 统计JS代码,由于国内无法访问这两个网站,所以我们使用这个插件的时候加载分类显得特别特别慢,但是我们可以直接屏蔽这两个统计代码 找…- 887
- 0
-
微信小程序 wxParse 富文本解析新增音频mp3解析功能
wxParse 是目前微信小程序富文本解析最常用的工具了,但它在音频解析方面还有点小小的缺陷,无法解析音频。 也就是mp3 无法解析,文章内插入了mp3之后,小程序无法正常显示 针对 wxParse 音频无法解析问题,只需在wxParse 原代码上拓展一下代码,使得小程序能够比较完美地播放音频。 首先,在wxParse.wxml文件中,查询关键字 增加video标签支持,并循环添加 并在其后面添加…- 643
- 0
-
ThinkPHP6项目与vue项目使用同一域名部署
背景 今天将写好的Vue单页部署到ThinkPHP6入口时出现无法首页空白问题。 我需要的就是访问域名直接访问Vue页面,后台只做API服务 尝试将入口文件index.html执行优先级提高到index.php之前。测试无效 一般这种情况只要配置两个域名:一个前端访问,一个api服务器,就可以搞定了,但是我的前端页面非常简单,还需要解析一个域名就很烦。 解决方式 由于tp默认的控制器为Index/…- 390
- 0
-
dolphinPHP数据表格form表单插件
效果 实现代码 $list_sf = [ 44 => '广东省', 33 => '浙江省' ]; // 使用ZBuilder快速创建表单 return ZBuilder::make('form') ->setPageTitle('新增') // 设置页面标题 ->addFormItems([ /…- 430
- 0
-
定时任务不切换用户执行的后果
事故背景 某 thinkphp6.x 项目运行时,偶尔出现异步队列执行失败的情况,实际调试时发现一切正常,但是异步队列就是会经常出现失败超时 调试来调试去,就是没有问题,怀疑执行的进程太多,抢占了任务??【为了加快速度,开了五个进程】,后面调试减少到一个进程,好像好了很多【心理安慰+999】 就这样相安无事了好几天,这个问题又出现!!! 再因为这个任务是支付确认的异步队列,要是订单没有办法确认的话…- 148
- 0
-
php cURL error 60 unable to get local issuer certificate
cURL error 60 unable to get local issuer certificate 原因 curl 配置中开启了证书校验,默认,curl 被设为不信任任何CAs,就是说,它不信任任何服务器验证。 解决此报错有2种处理方法 1、curl 关闭证书校验 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 2、php 配置中添加证书…- 384
- 0
-
PHPexcel导出超时
PHPexcel 导出超时 Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) 或者 Maximum execution time of 30 seconds exceeded 使用PHPexcel 导出时由于数据越来越多经常会遇到导出超时,超出PHP运行内存限制问题,超出运行时间30秒。 解…- 934
- 0
-
Composer 2.0 发布了
有什么新功能? 变更和改进的清单很长,如果您有兴趣阅读全部内容,请查看完整的变更日志。我将在这里重点介绍一些关键点。 性能提升 从Composer和packagist.org之间使用的协议到依赖关系解析,我们几乎对所有内容进行了全面检查,包括使用curl和约束评估优化来并行下载文件。这导致速度和内存使用方面的巨大改进。差异取决于您的用例,因此尽管我看到某些项目的两个方面的改进都超过50%的报告,但…- 542
- 0
-
微信服务商支付脱坑指南
最近使用微信服务商支付踩的坑,大坑小坑..... 商户ID与APPID不匹配 sub_openid and sub_appid not match openid与商户appid不匹配 普通商户不允许传sub_mch_id 当前页面的url未注册 签名失败.... 先看看未使用服务商支付时候的下单参数,也就是下图的普通商户版 的支付 这个普通商户的描述看上去没有问题只有一个appid与商户号mch…- 1.1k
- 0
-
海豚PHP阿里云短信插件
本插件基于dolphinphp官方阿里大鱼短信插件,新增支持最新版的阿里云短信 安装步骤 1.安装插件 2. 在插件设置中,填写 APPKEY 和 SECRET, 也就是阿里云的APPKEY 和 SECRET 3. 在插件管理中,添加短信模板。需要在阿里云提前先申请好,这些东西都是需要审核的,提前申请 使用方法 如果是旧版的阿里大鱼以下代码: $result = plugin_action(&…- 504
- 0
-
Thinkphp5 模型里别名alias不生效bug【已解决】
使用很长一段时间的Thinkphp5.0,一直被一个问题困扰,就是模型里面数据查询无法使用别名,除非使用DB类 但是模型里面一般是直接使用 $this 或 静态方法 self 例如写一个 Join 查询 当前表取别名为t,查看当前Sql 可以看到别名没有起作用,经过我再三翻找源码,定位的位置是 \thinkphp\library\think\db\Query.php 尝试过,Db::…- 274
- 0
❯
个人中心
购物车
优惠劵
今日签到
有新私信
私信列表
搜索
扫码打开当前页

加个微信呗
返回顶部
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
K优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!























