- 博客(46)
- 资源 (2)
- 收藏
- 关注
原创 使用TP6+Workerman实现私聊(类似QQ)、实时聊天(4、实现实时推送)
之前的文章写到了workerman的连接嘛。这次继续之前的,先弄两个页面吧。大概就是弄了这样的两个页面的哈。类似的静态页面啊,网上都会有的。异曲同工的哈。就是把html文件替换成在应用/view/控制器/方法.html把网上下载的代码放在这个 方法.html里面。然后把其他所有的文件夹,图片啊,css,js的文件放在public文件夹下就OK了。然后把路径加工一下,最最最简单的方法就是在所有的链接前面加“/”.像这样,好了,继续吧先。...
2021-06-30 13:31:59 2886 4
原创 使用TP6+Workerman实现私聊(类似QQ)、实时聊天(3、使用workerman服务类)
之前说了关于workerman的配置问题。因为在这个配置文件里面写代码不现实,所以有了服务类。把workerman的几个回调函数进行封装。打开config目录中的worker_server.php文件,那个那个那个,,第22行看到了嘛,这个就是我们要配置的地址。在应用文件夹下新建http文件夹,也就是新建一个http模块。再新建一个服务类的文件。<?phpnamespace app\http;use think\worker\Server;use think\facade\Se
2021-03-11 15:29:46 1677 2
原创 使用TP6+Workerman实现私聊(类似QQ)、实时聊天(2、搭建workerman)
之前的文章写了composer下载TP6的项目,并实现了多应用pathinfo的访问模式。现在同样使用composer下载workerman。下载workermancomposer require topthink/think-workerwindows下做服务器需要下载的哦composer require workerman/workerman-for-win这个就是composer执行成功的。失败的情况下,一般复制报错信息到百度/Google就都可解决。config目录下回多出来这几
2021-03-11 15:12:03 2955 1
原创 使用TP6+Workerman实现私聊(类似QQ)、实时聊天(1、搭建TP6环境)
1、安装ThinkPHP6之前写过直接利用workerman做一个聊天室的小案例,感兴趣的可以去看一下。这次打算用TP6+workerman实现一个聊天的。最近有点忙,前端的代码最后就让我省略了。看下去你就明白了。首先先下一个TP6的项目。切换到根目录下执行这个composer命令。(composer百度上好多教学的我就不说了,也比较简单安装上就好。)创建项目,tp是要创建项目的名字。composer create-project topthink/think tp安装模板引擎compo
2021-03-10 17:54:44 3701 9
原创 ThinkPHP 6.0.3版本自创标签方法
ThinkPHP 6.0.3版本自创标签方法在ThinkPHP的应用中,tp自带的标签有可能会出现不够用的情况,在这种情况下,我们可以自己创建标签在我们的代码中进行应用。注:前提是在创建标签前须利用Composer工具下载模板引擎。以下是composer下载模板引擎命令:composer require topthink/think-view下面是创建标签的步骤:1)打开www下的ThinkPHP6的项目根目录(我的根目录名字叫tp1)2)然后打开标签库类文件(Cx.php)3
2020-12-09 11:03:50 1305 1
原创 CSS设置input的placeholder颜色
::-webkit-input-placeholder{ color: #ccc; font-size:14px; } :-moz-placeholder{ color: #ccc; font-size:14px; } ::moz-placeholder{ color: #ccc; font-size:14px; } :-ms-input-placeholder{ .
2022-03-15 16:29:25 2342
原创 PHP调用第三方接口(CURL)
protected function curl($url, $data, $headers = [], $return_header = 0, $method = 'post') { $curl = curl_init(); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl.
2022-02-18 17:17:09 1235 2
原创 jquery向html中追加元素不触发事件
$(document).on("click", ".className", function () { });
2022-02-18 15:49:19 498
原创 CSS文字超出显示省略号 / 不换行
不换行white-space: normal;word-break:break-all;超出显示省略号text-overflow : ellipsis;overflow: hidden;
2022-02-16 16:57:19 602
原创 PHPExcel导入导出
导入:public function import(){ $oldData=[]; $info=$this->fileUplad(); if($info['code']!=200){ return false; } //获取对应表的全部字段并删除第一个id元素 $title_to_field=array( '学生姓名' => 'name'
2022-02-14 14:21:02 527
原创 PHP调用第三方接口
protected static function curl($url,$data,$headers=[] , $return_header = 0 , $method = 'post') { $curl = curl_init(); if(!empty($headers)){ curl_setopt($curl,CURLOPT_HTTPHEADER,$headers); } curl_setopt($curl, CURLOPT_URL,$url);.
2022-01-08 11:12:36 626
原创 Docker安装Gin
先安装镜像docker pull golang运行镜像docker run --name go-gin -it -v D:\docker\gin:/go/src/example.com/go-http-demo -p 8000:8080 golang设置全局变量export GOPROXY=https://goproxy.ioexport GO111MODULE=on 安装gingo get -u github.com/gin-gonic/gin...
2021-10-13 10:12:39 205
原创 laravel框架中密码的默认加密方式 及 如何判断密码是否一致
判断密码是否一致password_verify($request->password,$user->password)加密bcrypt($password)
2021-07-14 16:48:14 1016 3
原创 CSS修改滚动条样式
/* 设置滚动条的样式 */.member-list::-webkit-scrollbar { width:10px;}/* 滚动槽 */.member-list::-webkit-scrollbar-track { border-radius:8px;}/* 滚动条滑块 */.member-list::-webkit-scrollbar-thumb { border-radius:8px; background: #CAC7C6;}.member-list::-webkit-sc
2021-07-13 10:23:47 86
原创 paypal支付的回调
<?phpnamespace App\Http\Controllers\Api\Paypal;use App\Http\Controllers\Controller;use Illuminate\Http\Request;use App\Jobs\CheckOrderPaypal;use App\Http\Controllers\Api\Order\Order;class Paypal extends Controller{ protected $useSandle = true;
2021-07-09 16:40:30 1822
原创 Dcat-Admin软删除
1、conf/admin.php'grid_action_class' => Dcat\Admin\Grid\Displayers\DropdownActions::class,2、软删除的表新建一个deleted_at的字段3、模型类<?phpnamespace App\Models;use Illuminate\Database\Eloquent\Model;use Illuminate\Database\Eloquent\SoftDeletes;class Mem
2021-07-08 18:13:51 1378 1
原创 laravel队列queue 在cmd命令行下 “假死”
今天写代码过程中发现在本地开发用laravel自带的队列 queue ,在cmd命令行下,隔一段时间就必须按下ctrl+c才继续向下执行。右键-》属性-》不启用快速编辑模式。
2021-07-06 13:42:13 355 2
原创 PHP通过Url远程下载图片。
function download($url,$saveFile = 'C:/Users/Administrator/Desktop/images/ala/') { $img = @file_get_contents($url); $data = file_put_contents($saveFile.time().rand(9999,10000).substr($url,-5),$img); return $data; }第一个参数是下载图片。第二个是要保存的位置。..
2021-07-01 10:16:58 348
原创 laravel中session失效问题。(开启全局session)
有时候会碰到这种问题,在A方法中定义session,在A方法中可以取出来值,在B方法中却取不出来。找到这个文件。因为我的路由都在api.php中定义的。protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResp.
2021-06-30 15:10:02 1375 1
原创 Laravel发送邮件
命名空间:use Illuminate\Contracts\Mail\Mailable;控制器:public function send($to,$content){ try{ Mail::send(['raw' => '发送的内容'],[],function($message){ $to = '要发送人的邮箱'; $message->to($to)->subject('注册验证码'); }); return true; } c
2021-06-30 13:17:56 87
原创 PHP将MarkDown转化为HTML
先用命令行工具切换到根目录,执行以下命令composer require erusev/parsedown在要使用的地方加上:use Parsedown;$a = Parsedown::instance()->parse(mardown文本)$a就是转化完成之后的HTML文本啦。这是我的用法。...
2021-05-10 16:06:42 343
原创 Laravel 接口开发中跳转、重定向到home页面
使用postman调试时,laravel未将postman的请求当成ajax。在postman中加上头信息即可。X-Requested-With : XMLHttpRequest
2021-04-21 16:44:51 363
原创 富文本编辑器kindeditor
这是示例代码。复制即可。https://gitee.com/zqy-904915452/kindeditor.git
2021-04-20 14:38:04 105
原创 Docker安装linux+宝塔
1、先用docker下载镜像docker pull zqy904915452/centos_bt:latest2、运行镜像docker run -itd --name centosbaota -p 22:22 -p 8888:8888 -p 3306:3306 -p 6379:6379 -p 80:80 -p 443:443 -v /E/WWW/docker:/www/wwwroot --privileged=true zqy904915452/centos_bt /usr/sbin/init
2021-04-08 17:33:45 274
原创 Vue.js傻瓜手册3(事件)
一、 触发事件<div id="app"> <button @click="alt">demo</button></div><script type="text/javascript"> var app = new Vue({ el : '#app' , data : { msg : 'demo' }, methods:{ alt:function(){ alert(this.msg); }
2021-02-26 16:06:27 64
原创 Vue.js傻瓜手册2(双向绑定-基础语法)
一、 双向绑定在我的傻瓜手册第一节中说明了如何绑定一个数据,至此跟小程序还是蛮像的。实际开发中利用双向绑定,更能提高我们的开发效率。举个例子:购物车结算中,如果是小程序开发的情况下,按照传统DOM思想,是需要在点击加号和减号进行一定的逻辑处理。但是vue中就会省时省力,双向绑定一条数据以后,进行监听数据就可以实现了。监听在下一章哈。上代码!!!!!!!!!!!!<div id="app"> <input type="number" v-model="num" name=""&g
2021-02-26 15:45:27 125
原创 Vue.js傻瓜手册1(入门)
一、引入文件vue的引入文件和普通的引入js文件是一样的,直接用script标签直接引入即可。可以直接去下载源文件。也可以引入网上的。这个随意哈。网上各大教程都会有推荐的地址。1.https://cdn.staticfile.org/vue/2.2.2/vue.min.js2.https://unpkg.com/vue/dist/vue.js3.https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js二、不多bb了,进入正题,新
2021-02-26 15:39:21 207
转载 workerman心跳
为什么需要心跳检测?有些极端情况如客户端掉电、网络关闭、拔网线、路由故障等,这些极端情况都属于连接断开的情况,然而这些情况如果没有应用层的心跳检测,服务端是无法快速感知的。而服务端定时向客户端发送心跳数据可以解决这个问题。心跳检测的原理是什么?服务端向客户端发送心跳检测,客户端接收到心跳数据后,可以忽略不做任何处理,也可以回应心跳检测,这就分为两种情况,1、当服务端不要求客户端必须回应心跳检测时,假如客户端遇到掉电等极端情况,这时服务端向客户端发送的心跳数据在TCP层面就会发送超时,遇到这种超时情况
2021-02-03 10:02:10 543
原创 Mysql事务隔离性、脏读、幻读
1、场景在高并发的场景下(例如像商品扣库存的操作)很容易出现各种问题。这种情况下,有些人会选择利用事务去解决。下面说说事务的不同的隔离性会出现各种不同的问题。2、事务事务共有四大特性,分别是原子性、一致性、隔离性、持久性。就简单说说隔离性吧。隔离性分为读未提交、读已提交、可重复读、串行化1)读未提交:两个事务A、B开启,去操作同一条数据,A将这条数据修改了,但是还没有commit。B去查询这条数据,查询到的是A已经修改了的这条数据,B查询到结果以后A发现数据有问题,将事务回滚了,B再去根据这
2021-01-21 11:50:22 105
原创 使用Workerman做一个简单的录像直播功能
1、准备好项目之前做过一个简单的聊天室,我是根据之前弄的聊天室改过来的。参考:https://blog.csdn.net/qq_38231822/article/details/1128004572、大致思路 这些小东西都是自己没事捅咕玩的,随便写一写。3、...
2021-01-19 16:19:25 639
原创 使用workerman做一个简易的聊天室
1.先下载项目吧用composer命令直接下就OK,没有composer的百度搜一下安装即可。composer require workerman/workerman或者是GitHub也可以git clone https://github.com/walkor/Workerman这个就是下载下来的了,直接放在项目的文件夹下面即可。2.开始写代码在项目的目录下新建一个文件,像这样下面是chat.php的代码use Workerman\Worker;require_once "Wor
2021-01-19 10:27:12 733
原创 laravel傻瓜手册7(软删除,模型关联)
1.软删除:软删除可以理解为修改而非真正的删除,数据库中会有一个字段(delete_at),如果这个字段为空,则说明这条记录没被软删除,否则说明这条记录已经被软删除,而查询的时候只查询这个字段为空的记录 命名空间:Illuminate\Database\Eloquent\SoftDeletes( 软删除是一个trait,所以需要在模型中use SoftDeletes;) 使用方法:模型类命名空间下:use Illuminate\Database\Eloquent\SoftDel
2021-01-18 18:03:34 725 1
原创 laravel傻瓜手册6(模型)
1.模型(App/Models)(1)定义:模型类通常都会放在App/Models文件夹中,laravel默认没有这个文件夹,可以手动建,也可以命令创建模型类的时候自动创建,所有模型类都要继承Illuminate\Database\Eloquent\Model(2)命令:创建一个index模型类 php artisan make:model Models/Index(3)常用模型属性:1.protected $table = '表名' //指定对应的数据表2.prot
2021-01-18 18:01:22 425 2
原创 laravel傻瓜手册5(视图)
1.视图(1)配置:laravel的视图文件和ThinkPHP区别很大 位置:视图文件都存放在recourse/views文件夹中 命名:视图文件的后缀名为.blade.php,例如index.blade.php,user.blade.php 渲染方式:控制器中return view('视图文件');例如:你的recourse/views中有一个index.blade.php,还有一个user/user.blade.php,那么在控制器中的渲染方式就是return view('in
2021-01-18 17:59:09 132
原创 laravel傻瓜手册4(数据库)
1.数据库(命名空间:Illuminate\Support\Facades\DB;)(1)配置(mysql):打开.env文件,找到DB_CONNECTION=mysql那组 DB_HOST=地址 DB_PORT=端口号 DB_DATABASE=数据库名 DB_USER=mysql用户名 DB_PASSWORD=mysql密码(2)get获取所有数据:DB::table(‘表名’)->get(); 返回值:对象 注:返回值是一个对象实例,其
2021-01-18 17:56:22 322
原创 laravel傻瓜手册3(控制器)
1.控制器(存放在App/Http/Controllers里面)(1)基础控制器:App/Http/Controllers/Controller.php(相当于ThinkPHP中的BaseController)(2)定义控制器:<?phpnamespace App\Http\Controllers;use App\Http\Controllers\Controller;class UserController extends Controller{ /** * 显示指
2021-01-18 17:43:40 117
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人