PHP
日常碰到的问题,记录起来分享一下
小吴-斌
这个作者很懒,什么都没留下…
展开
-
亚马逊 AWS 视频转码功能、AWS Elemental MediaConvert 中创建和管理转码作业
上传的视频需要转码成不同的编码, 可以直接在 AWS Elemental MediaConvert 中创建和管理转码作业。原创 2024-06-05 10:48:07 · 549 阅读 · 0 评论 -
AWS对S3桶里的文件设置签名验证,过期时间等
AWS 可以对S3桶的文件设置访问权限,当设置不公开访问的时候,又要让用户可以查看,那么就需要用到设置临时访问权限了。原创 2024-06-05 10:38:02 · 708 阅读 · 0 评论 -
php 亚马逊AWS-S3对象存储上传文件
最近做国外项目的时候,需要把文件上传到AWS-S3对象存储空间里,下面整理一下上传方法,和碰到的问题。原创 2024-05-25 10:06:16 · 697 阅读 · 0 评论 -
Linux-centos下安装ffmpeg的详细教程
首先需要安装yum源:这个源安装的ffmpeg版本是3.4然后可以安装ffmpeg。原创 2024-05-16 12:46:02 · 2004 阅读 · 0 评论 -
php图片批量压缩并同时保持清晰度
php图片压缩可以通过GD库来实现。php批量压缩图片原创 2023-08-24 16:58:51 · 1190 阅读 · 0 评论 -
PHP 微信支付V3版本SDK使用整理汇总
最近项目中需要使用微信支付,决定使用微信官方V3 SDK版本接口。原创 2023-08-08 16:27:41 · 2772 阅读 · 1 评论 -
PHP 支付宝支付、订阅支付(周期扣款)整理汇总
最近项目中需要使用支付宝的周期扣款,整理一下各种封装方法。原创 2023-07-29 15:20:14 · 1731 阅读 · 0 评论 -
PHP使用PhpSpreadsheet库的操作Excel表格
PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到使用 PhpSpreadsheet 开发的PHP要求 7.1或更高版本PhpSpreadsheet 支持链式操作。原创 2023-07-08 11:06:17 · 2557 阅读 · 0 评论 -
FCM( Firebase) 发送推送消息PHP
Firebase 的管理后台也有发送测试消息推送的入口,在左侧栏目的 Cloud Messaging。原创 2023-01-04 18:35:32 · 2032 阅读 · 2 评论 -
thinkphp6、thinkphp5.0 使用think-queue实现普通队列和延迟队列
何为异步消息队列:所谓消息队列,就是一个以队列数据结构为基础的一个实体,这个实体是真实存在的,比如程序中的数组,数据库中的表,或者redis等等,都可以。异步队列的作用:个人认为消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。原创 2022-11-18 12:11:48 · 3644 阅读 · 1 评论 -
thinkphp6 API多版本控制
项目开发api接口时,一般都是有版本的,比如 v1,v2,v3…对应的url可以为 /v1/user/index /v2/user/index像这种模式怎么在thinkphp6.0实现呢注意:是使用了tp6的多应用模式,使用多应用需执行 composer require topthink/think-multi-app。原创 2022-11-17 17:36:10 · 1883 阅读 · 0 评论 -
Php使用ZipArchive打包下载文件、图片
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启。原创 2022-10-17 22:29:26 · 752 阅读 · 0 评论 -
百度编辑器ueditor 安装教程
好久没有用到过ueditor编辑器了,今天需要用的时候发现下载都是直接到git上去,并且下载下来的文件里还没有ueditor.all.js,下面把安装教程记录一下###安装node.js。原创 2022-10-11 23:14:40 · 745 阅读 · 0 评论 -
php微信小程序登陆完整流程
小程序登陆流程:1、使用wx.login 获取code,2、使用wx.getUserInfo 获取用户信息,然后上传到服务端,3、服务端在通过codee获取access_token,openid 或 unionid4、根据wx.getUserInfo 上传encryptdata 和 iv 解密获得用户的基本信息5、执行注册流程返回注册信息。原创 2022-09-28 20:41:28 · 2176 阅读 · 0 评论 -
php 实现rpc,使用php链接jsonrpc服务
最近在学习go时,看到微服务rpc时,在想php能不能实现呢,答案是肯定的,下面写下来记录一下。先看目录结构rpcapiTest.phpclientserver。原创 2022-09-19 09:44:08 · 1115 阅读 · 0 评论 -
Liunx 服务器上编译安装swool扩展和Swoole简单实现RPC原理
swool安装,swool简单实现RPC原理示例代码原创 2022-09-03 17:32:59 · 330 阅读 · 0 评论 -
PHP 输出各个时区对应的时差表
在项目中需要用户到各个时区(Asia/Shanghai),一时不知道怎么直接快速的定位国家所对应的时区,$timeZone。原创 2022-07-28 14:26:14 · 968 阅读 · 0 评论 -
php图片上传功能,实时显示上传的图片
php图片上传功能,实时显示上传的图片原创 2022-07-09 15:16:18 · 1687 阅读 · 0 评论 -
php 苹果apple登陆
1、在apple后台配置好原创 2022-06-21 17:36:23 · 1909 阅读 · 0 评论 -
Google APP登陆,web登陆
1、配置好谷歌应用2、执行 composer require google/apiclient /** * google login * composer require google/apiclient */ public function google() { $id_token = $this->request->param('id_token', '', 'trim'); if (!$id_token )原创 2022-04-23 12:30:22 · 1848 阅读 · 0 评论 -
Facebook支付
html<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv原创 2022-04-23 12:27:03 · 389 阅读 · 0 评论 -
Php实现Facebook app端web网页登陆功能
PHP实现facebook app端和 web端登陆流程原创 2022-04-23 12:10:11 · 2790 阅读 · 0 评论 -
php过滤特殊表情符号
/** * 过滤上传特殊表情符号的(emoji表情) * @param $str * @return mixed */function filterEmoji($str=''){ $str = preg_replace_callback( '/./u', function (array $match) { return strlen($match[0]) >= 4 ? '' : $match[0]; }, $.原创 2022-03-14 16:36:26 · 1071 阅读 · 0 评论 -
php 根据最小值随机返回指定位数的随机数
php 根据最小值随机返回指定位数的随机数/** * 根据最小值随机返回指定位数的随机数 * @param int $min * @param int $max * @Date 2021/6/29 19:58 * @Author wzb */function random_number_float($min=0,$max=0){ $powMin = 0; $lenMin = strlen(substr(strrchr($min, "."),1)); if($lenMi原创 2021-10-26 11:36:57 · 151 阅读 · 0 评论 -
PHP各种获取日期的方法,获取日期对应星期、一周日期、星期开始与结束日期的汇总方法
各种获取日期方法var_dump(date('Y-m-d H:i:s'));var_dump(date('w'));var_dump(date('Y-m-d',strtotime('-1 day',time())));var_dump(date('Y-m-d',strtotime('-1 week',time())));var_dump(date('Y-m-d',strtotime('-1 month',time())));var_dump(date('Y-m-d',strtotime('-1原创 2021-09-16 11:47:02 · 2133 阅读 · 0 评论 -
php之RSA加密解密
介绍RSA算法属于非对称加密算法,非对称加密算法需要两个秘钥:公开密钥(publickey)和私有秘钥(privatekey).公开密钥和私有秘钥是一对,如果公开密钥对数据进行加密,只有用对应的私有秘钥才能解密;如果私有秘钥对数据进行加密那么只有用对应的公开密钥才能解密.因为加密解密使用的是两个不同的秘钥,所以这种算法叫做非对称加密算法.简单的说就是公钥加密私钥解密,私钥加密公钥解密准备需要给PHP打开OpenSSL模块代码/** * RSA算法属于非对称加密算法,非对称加密算法需要两个秘钥:公原创 2021-09-16 11:37:17 · 15358 阅读 · 0 评论 -
负载均衡后,thinkphp5获取用户真实IP地址
在项目中由于使用的是单个服务器,所以代码里获取ip地址都是直接使用框架里自带的方法获取,但是负载均衡之后,获取的ip地址就不对了,每次请求都在变/** * 获取用户真实IP * @param int $type * @param bool $adv * @return mixed * @Date: 2021/8/14 11:54 * @Author wzb */function get_user_ip($type = 0, $adv = true){ $type =原创 2021-08-16 10:05:05 · 1183 阅读 · 0 评论 -
php 使用钉钉机器人推送消息
机器人发送消息频率限制消息发送太频繁会严重影响群成员的使用体验,大量发消息的场景(譬如系统监控报警)可以将这些信息进行整合,通过markdown消息以摘要的形式发送到群里。每个机器人每分钟最多发送20条。如果超过20条,会限流10分钟。配置群机器人方法二:点击自己的头像 》设置 》机器人管理 》自定义方法一:创建群 》 群设置 》智能群助手 》添加机器人 》自定义获取自定义机器人webhookhttps://oapi.dingtalk.com/robot/send?access_原创 2021-08-06 17:23:53 · 1434 阅读 · 0 评论 -
workerman后端及时、定时推送消息给客户端,定时任务
原理1、建立一个websocket Worker,用来维持客户端长连接2、websocket Worker内部建立一个text Worker3、websocket Worker 与 text Worker是同一个进程,可以方便的共享客户端连接4、某个独立的php后台系统通过text协议与text Worker通讯5、text Worker操作websocket连接完成数据推送服务端代码push.php代码<?phpuse Workerman\Lib\Timer;use Work转载 2021-06-22 20:23:57 · 1845 阅读 · 0 评论 -
Composer 国内加速,修改镜像源
如何修改镜像源可以使用阿里巴巴提供的 Composer 全量镜像 https://mirrors.aliyun.com/composer/配置只在当前项目生效composer config repo.packagist composer https://mirrors.aliyun.com/composer/ 取消当前项目配置composer config --unset repos.packagist配置全局生效composer config -g repo.packagist com原创 2021-06-17 11:19:57 · 113 阅读 · 0 评论 -
php 合成图片、合成圆形图片
合成图片<?phpclass Share { /* * 生成分享图片 * */ function cre_share_study_img(){ $auth = json_decode(base64_decode($_GET['auth']),true); $url = trim(strip_tags($auth['url'])); $uid = max(0,strip_tags($auth['id'])); /原创 2021-05-21 17:25:01 · 383 阅读 · 0 评论 -
php 按某个键值给二维或者多维数组排序
对多维数组(以二位数组为例)进行排序:方法一<?php$arr = array( '0' => array( 'num1' => 3, 'num2' => 27 ), '1' => array( 'num1' => 5, 'num2' => 50 ), '2' => array( 'num1' => 4,原创 2021-01-29 12:00:45 · 105 阅读 · 0 评论 -
php链接redis (带密码)常用的redis方法
连接redis$redis = new Redis();$redis->connect($host, $port);$redis->auth('my pass'); //密码验证常用方法$redis->set('1','1',3600);// 批量操作$redis->multi(\Redis::PIPELINE); // 开始批量操作// $redis->pipeline(); // 或者 开始批量操作$redis->get("1");$redis-原创 2021-01-12 17:40:23 · 1074 阅读 · 0 评论 -
Redis各种命令时间复杂度一览表
String类型命令时间复杂度set0(1)get0(1)del0(k),k是键的个数mset0(k),k是键的个数mget0(k),k是键的个数incr0(1)decr0(1)incryby0(1)decryby0(1)incrybyfloat0(1)append0(1)strlen0(1)setrange0(n),n为更改字符串长度getrange0(n),n为获取字符串长度原创 2020-12-09 10:55:17 · 4930 阅读 · 0 评论 -
Php使用Redis的bitmaps(setbit,bitOp,bitcount)统计用户留存率、活跃用户
什么是 BitmapsBitmaps 并不是实际的数据类型,而是定义在String类型上的一个面向字节操作的集合。因为字符串是二进制安全的块,他们的最大长度是512M,最适合设置成2^32个不同字节。Bitmaps 的最大优势之一在存储信息时极其节约空间。例如,在一个以增量用户ID来标识不同用户的系统中,记录用户的四十亿的一个单独bit信息(例如,要知道用户是否想要接收最新的来信)仅仅使用512M内存。在计算机系统中,最小的信息单位是字节,1个字节等于8位,每一位都只可能是0或1(计算机只认识这两个数原创 2020-12-04 11:35:49 · 877 阅读 · 0 评论 -
thinkphp5.1+qrcode 二维码使用
1、注意:PHP版本 要求 7.1+2、用composer 安装endroid/qrode ,进入项目根目录,安装完成会在vendor目录下面composer require endroid/qrcode3、将二维码生成封装为服务位置:/application/common/service/QrcodeService.php<?php/** * 二维码服务 */namespace app\common\services;use Endroid\QrCode\ErrorC原创 2020-11-25 21:01:26 · 780 阅读 · 0 评论 -
php redis中set、setex、setnx、getSet的区别
1、set( key, value)将字符串值 value 关联到 key 。如果 key 已经持有其他值, SET 就覆写旧值,无视类型。// 连接redis$host = '172.****.170';$port = 6381;$this->redis = new Redis();$this->redis->connect($host, $port);$redis->set('setkey', 1);2、setex( key, seconds, valu原创 2020-10-29 15:47:33 · 5444 阅读 · 0 评论 -
PHP VIVO推送方法、快应用推送方法
VIVO 推送封装函数文档:https://dev.vivo.com.cn/documentCenter/doc/362#w2-98559915/** * vivo 推送 * @param string $title 标题 * @param string $content 描述 * @param string $page_param 内页地址 * @param array $target_value 指定推送 registration_id * @Date 2020/9/18 10:59原创 2020-09-19 18:01:44 · 1083 阅读 · 1 评论 -
PHP OPPO推送方法、快应用推送方法
OPPO 推送封装函数/** * @param string $title 标题 * @param string $content 描述 * @param string $page_param 内页地址 * @param array $target_value 指定推送 registration_id * @Date 2020/9/18 10:59 * @Author wzb */function send_push_message_oppo($title='推荐书籍',$content=原创 2020-09-18 11:45:35 · 632 阅读 · 0 评论 -
php发送post和个体请求的封装函数
工作中经常要用户curl请求第三方的接口,特归类一下。原创 2020-09-17 17:15:20 · 328 阅读 · 0 评论