
php
php
wyqgg123
知易行难
展开
-
docker-compose重新部署之前的环境和项目
docker-compose 部署php、MySQL、redis、elasticsearch、rabbitmq原创 2022-10-05 18:19:19 · 2606 阅读 · 1 评论 -
PHP本地项目及docker项目的debug安装和vscode、phpstorm中具体使用教程
php xdebug的详细教程原创 2022-10-05 12:19:07 · 1773 阅读 · 0 评论 -
简单的支付宝沙箱支付接入以及电脑网站支付示例
支付宝沙箱支付接入流程1、首先进入支付宝开放平台申请个人开发者账号2、创建应用,添加电脑网站支付能力这里我申请的是支付宝网站支付功能。3、进入支付宝沙箱环境设置接口加签方式我这里设置的是自定义密钥(RSA2)文档:https://opendocs.alipay.com/common/02kipl这里我们需要获取我们需要的秘钥:应用公钥、支付宝公钥,还需要记住生成应用公钥的时候我们自己保存的应用私钥,这三个参数,其中应用公钥、支付宝公钥都可以在沙箱账号中查看,应用私钥是自己有的。其他原创 2022-02-09 15:59:31 · 1702 阅读 · 0 评论 -
php爬取文章、图片实例
php使用正则表达式进行简单的数据获取/** * 发起curl网络请求 */function http_request(string $url, $data = [], array $header = []) { $ret = ''; // 1、初始化 $ch = curl_init(); // 2、相关配置 # 设置请求的URL地址 curl_setopt($ch, CURLOPT_URL, $url); # 设置一下执行成功后不直接返回到客原创 2021-12-09 11:54:09 · 1334 阅读 · 0 评论 -
php+redis 盲盒字符兑换道具
概述: 这里我新增了道具表、背包道具表和背包道具流水表是为了字符兑换活动可以兑换一些可以使用的道具到我的背包中,获得道具或者消耗道具时,在背包道具流水表中都有记录。盲盒字符兑换流水表是为了将用户兑换各种奖励记录下来,因为每种道具的兑换是有限制的。 字符兑换道具基本逻辑:定义可以兑换的道具的id、num、以及需要的字符index数组,在兑换道具时需要传递用户id和需要兑换的道具的index,在兑换操作时具体操作 1、获得字符可兑换的道具数组,通过传递的index获取到当前兑换的道具,在从re原创 2021-11-11 18:21:15 · 623 阅读 · 0 评论 -
手机号码绑定操作
手机号码绑定操作这里我实现了一个通过发送短信绑定手机号的功能,这里主要的实现与之前发送邮箱注册差别不大,比较大的区别就是发送短信需要发送curl请求api地址,来让第三方发送我们写好的验证码。具体发送的逻辑代码差别不大,就是在发送验证码时使用redis上锁60s,在60s时间中,若验证码成功验证则将锁删除。这样就可以实现绑定手机号的操作。控制器代码 /* * 用户通过手机号发送短信 */ public function bindPhone() {原创 2021-10-12 22:40:43 · 2929 阅读 · 0 评论 -
php+redis+mysql关注的实现
php+redis+mysql关注的实现这个博客系统的项目我放在gitee上面,目前我还在开发中,我将地址放到下面https://gitee.com/wyqgg/iblog使用git克隆项目git clone https://gitee.com/wyqgg/iblog.git1、使用zadd向我的关注有序集合中添加元素zadd my_id."follow" time() follow_id //my_id为关注者id 、time() 为当前关注的时间戳、 follow_id为被关注者id原创 2021-10-12 22:20:40 · 753 阅读 · 0 评论 -
php+redis实现点赞功能
php+redis实现点赞功能首先设计redis1、设计一个set结构的article存储被点赞的article_id2、设计set结构的article_like_{article_id}里面存储点赞该文章的用户3、设计一个hash结构的article_user_like_{article_id}__{user_id}存储用户点赞的详细信息4、设计一个string结构的article_id_count存储文章的点赞总数下面是我使用CI框架实现的具体功能代码:这里我目前只使用了redis实现,后原创 2021-10-12 22:14:44 · 857 阅读 · 0 评论 -
php+swoole实现一个简单的聊天室
服务端代码<?php$websocket = new \Swoole\WebSocket\Server('0.0.0.0', '6070');$websocket->set([ 'worker_num' => 1]);$websocket->on('Open', function ($ws, $request) {});$websocket->on('Message', function ($ws, $frame) { //将传递过来的jso原创 2021-09-23 17:20:26 · 674 阅读 · 0 评论 -
php+swoole编写简易的服务器
这里我们使用php+swoole编写一个简单的静态http服务构建web服务器<?php/** * Created by PhpStorm. * User: 2yq * Date: 2021/9/22 * Time: 15:29 */$web = new \Swoole\Http\Server('0.0.0.0',6070);$web->set([ 'worker_num' => 1]);$web->on('Request',function ($原创 2021-09-23 14:07:25 · 500 阅读 · 0 评论 -
redis常用操作单例模式封装
<?php/** * Created by PhpStorm. * User: wyq * Date: 2021/8/23 * Time: 15:42 */namespace RedisCurd;class RedisCurd{ // private static $redis; //redis连接 private $conn; //私有构造函数 private function __construct() {原创 2021-09-18 10:00:11 · 321 阅读 · 0 评论 -
PHP返回父子级树状结构
函数get_tree_list:返回父子级树状结构<?php//返回 父子级树状结构function get_tree_list($list){ //将每条数据中的id值作为其下标 $temp = []; foreach ($list as $v) { $v['son'] = []; $temp[$v['id']] = $v; } //获取分类树 foreach ($temp as $k => $v) {原创 2021-07-06 15:11:14 · 478 阅读 · 0 评论 -
php调用接口发送短信
首先在各平台上申请短信接口权限我是在京东万象上申请的短信权限,发送短信权限都是有测试次数,不用收费我们可以看到请求参数、返回参数、返回示例值,按照他的格式就可以进行访问接口来进行发送短信操作,需要注意的是因为是测试数据,没有购买所以这里的content是不能自定义的,只能按照他的要求来写:【凯信通】您的验证码是:$code,appkey当你注册京东万象完成之后就可以查看自己的appkey。我这里使用的是thinkphp5框架1、发送短信的前台页面<!DOCTYPE html>&l原创 2021-07-06 13:36:19 · 832 阅读 · 1 评论 -
php发送邮件
安装phpmailer扩展composer require phpmailer/phpmailer安装成功编写代码发送邮件<?phpuse PHPMailer\PHPMailer\PHPMailer;use PHPMailer\PHPMailer\Exception;//加载文件require './vendor/phpmailer/phpmailer/src/Exception.php';require './vendor/phpmailer/phpmailer/src/PHPMa原创 2021-07-01 16:02:28 · 215 阅读 · 2 评论 -
php封装一个函数用来发送curl请求
//发送请求函数if (!function_exists('curl_request')){ function curl_request($url,$post=true,$params=[],$https=true){ //初始化请求会话 $ch = curl_init($url); if ($post){ //设置请求方式为post curl_setopt($ch,CURLOPT_POST,true)原创 2021-06-27 21:58:18 · 195 阅读 · 0 评论 -
php单例模式简易封装redis
<?php/** * Created by PhpStorm. * User: * Date: 2021/6/23 * Time: 15:42 */class Rediscurd{ // private static $redis; //redis链接 private $conn; private function __construct() { $host = "127.0.0.1"; $port = "63原创 2021-06-23 17:31:24 · 504 阅读 · 2 评论 -
RestFul接口设计风格示例
RestFul接口设计风格RESTFul是一种软件设计风格, 主要用于有客户端与服务端交互的软件.RESTFul 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。RESTFul风格的数据接口示例:以新闻资源为例:URI及HTTP动词设计如下HTTP动词URI路径说明GEThttp://域名/news获取列表数据GEThttp://域名/news/:id根据id获取一条数据POSThttp://域名/news添加一条数据PUTht原创 2021-06-27 21:59:27 · 803 阅读 · 0 评论 -
PHP实现各种设计模式
1 单例模式一个类只允许创建一个对象应用场景:多次请求数据库只需要一个连接对象。优点:1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。2、避免对资源的多重占用(比如写文件操作)。缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。1、私有的静态属性来保存对象的实例2、私有的构造函数阻止类的外部实例化对象3、私有的__clone()函数阻止类的外部克隆对象4、公有的静态函数保证外部获取对象原创 2021-06-27 22:14:23 · 215 阅读 · 0 评论 -
PHP用两个栈实现一个队列
PHP用两个栈实现一个队列class CQueue { public $stack1; public $stack2; function __construct() { $this->stack1 = new SplStack(); $this->stack2 = new SplStack(); } /** * @param Integer $value * @return NULL */原创 2021-06-27 21:54:49 · 178 阅读 · 0 评论 -
phpexcel导出excel文件以及图片问题解决方案
下载phpexcel插件composer安装命令composer require phpoffice/phpexcelgit地址https://github.com/PHPOffice/PHPExcel目录结构简单的将数据导出excel<?phprequire "./vendor/phpoffice/phpexcel/PHPExcel/PHPExcel.php";require "./vendor/phpoffice/phpexcel/PHPExcel/PHPExcel/Wri原创 2021-07-05 22:38:07 · 1808 阅读 · 0 评论 -
PHP分页的实现
PHP分页的实现页面代码:<nav aria-label="Page navigation"> <ul class="pagination"> <!--start 上一页 --> <!-- 当当前页面为1时 添加不能点击样式 --> <li <?php if($page == 1 || !$page): ?> class原创 2021-07-20 10:13:18 · 234 阅读 · 1 评论 -
PHP第三方登录实例
PHP第三方登录实例 因为公司给我一个需求和三方登录有关,所以就记录一下,这里的三方登录示例用的是以前我写过的qq三方登录,三方登录的具体实现就是调用三方平台的接口,得到用户在三方平台的用户基本信息,然后对用户信息进行验证 ,若存在则直接登录,不存在则先注册用户信息,下面详细讲解qq三方登录的实现1、申请qq三方登录接口的使用我这里使用的是qq互联平台,其他的平台也可以申请到该权限,这里的申请步骤就按找官网的步骤就可以申请到,申请个人接入,需要上传自己手持身份证的照片,申请完成之后就可以创建网站或原创 2021-07-16 15:51:22 · 416 阅读 · 2 评论