php学习
php学习记录
极梦网络无忧
我想我可以
展开
-
redis用法 php
2.1.什么是redisRedis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:字符串类型散列类型列表类型集合类型有序集合类型。2.2.redis的应用场景缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)分布式集群架构中的session分离。聊天室的在线好友列表。任务队列。(秒杀、抢购、12306等等)应用排行榜。网站访问统计。数据过期处理(原创 2020-09-21 06:27:20 · 404 阅读 · 0 评论 -
网站搭建步骤
1、准备服务器可以购买阿里云服务器或者腾讯云等、也可以自己购买线下服务器2、购买域名可以购买阿里云域名或者腾讯云域名等3、域名备案4、配置环境可以用xshell和xftp、也可以在阿里云等直接进入命令行页面配置,环境可以选择宝塔等面板一键安装,也可以自己搭建环境5、安装数据库和代码原创 2022-12-08 00:21:59 · 249 阅读 · 0 评论 -
tp5获取查询条件
获取查询条件原创 2022-06-14 20:15:00 · 320 阅读 · 0 评论 -
ZipArchive类操作
是专门用于文件的压缩与解压操作的类,通过压缩文件可以达到节省磁盘空间的目的,并且压缩文件体积更小,便于网络传输。1:open(打开一个压缩包文件)参数说明:第一个参数:要打开的压缩包文件第二个参数:2:addFile(将指定文件添加到压缩包中)3:addEmptyDir (将指定空目录添加到压缩包中)4:addFromString(将指定内容的文件添加到压缩包)5:extractTO(将压缩包解压到指定目录)6:getNameIndex(根据索引返回文件名称)7:getStream(根据压原创 2022-06-06 06:15:18 · 1402 阅读 · 0 评论 -
php免费获取天气预报
function getWeatherInfo($city) { header("Content-Type: text/html; charset=UTF-8"); $cityDb = array( '北京'=>'101010100', '朝阳'=>'101010300', '顺义'=>'101010400', '怀柔'=>'101010500', ...原创 2022-03-28 12:14:29 · 1815 阅读 · 0 评论 -
我在码云创建了组织
极梦标题组织介绍让开源爱好者实现财富自由之路,体会到开源的快乐。标题社区口号望眼欲穿待归期,共赴龙门战苍天;披甲挂帆乘风起,剑指东海会鬼仙;标题如何加入请发送申请邮件至171945608@qq.com...原创 2022-03-23 22:00:00 · 397 阅读 · 0 评论 -
php文件解压
//文件解压 protected function uzip($filename){ //解压缩 php自带的解压类 $zip = new \ZipArchive; //要解压的文件 $zipfile = $filename; $res = $zip->open($zipfile); if($res!==true){ return false; } ...原创 2022-03-20 01:43:31 · 1263 阅读 · 0 评论 -
php实现远程下载
/** * CURL下载文件 成功返回文件名,失败返回false * @param $url * @param string $savePath * @return bool|string * @author Zou Yiliang */var_dump( httpcopy("https://www.jmwl51.com/addonszip/hwsms-1.0.0-regular.zip")); function httpcopy($url, $file="z.zip", $timeout=原创 2022-03-19 21:45:00 · 1252 阅读 · 0 评论 -
phpmyadmin上创建函数
导入数据库后发现项目 报错了发现是函数导入错误, 导入时候的报错、:this function has none of DETERMINISTIC在上面再运行sql语句:set global log_bin_trust_function_creators=1;` 再导入就可以了原创 2021-12-03 18:30:00 · 413 阅读 · 0 评论 -
手机浏览器,用js能干什么
手机浏览器,用js能干什么<head> <meta charset="utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <meta name="viewport" content="width=device-wid原创 2021-10-28 18:15:00 · 333 阅读 · 0 评论 -
Git 全局
Git 全局设置:git config --global user.name "Admin"git config --global user.email "8373568+jinan-jimeng-network_0@user.noreply.gitee.com"创建 git 仓库:mkdir jmcd jmgit inittouch README.mdgit add README.mdgit commit -m "first commit"git remote add origin原创 2021-05-15 10:54:28 · 296 阅读 · 0 评论 -
搭建LNMP环境1
搭建LNMP环境wget http://mirrors.linuxeye.com/oneinstack-full.tar.gztar xzvf oneinstack-full.tar.gzcd oneinstack./install.sh #注:请勿sh install.sh或者bash install.sh这样执行安装选项选择1.设置SSH端口(默认22),回车即可Do you want to enable iptables? \[y/n\]: n2.然后选择是否安装 web,输原创 2021-05-15 08:07:27 · 100 阅读 · 0 评论 -
助手函数升级
<?php//扩展名权限判断 有权限则返回1 不是truefunction checkExt($file){ if($GLOBALS['isRoot']) return 1; if (strstr($file,'<') || strstr($file,'>') || $file=='') { return 0; } //'php|phtml|phtm|pwml|asp|aspx|ascx|jsp|pl|htaccess|shtml|shtm' $notAllow =原创 2021-04-25 14:44:58 · 743 阅读 · 0 评论 -
文件管理助手函数升级
获取文件详细信息 file_info($fileName)获取文件夹详细信息 path_info($dir)递归获取文件夹信息 path_info_more(KaTeX parse error: Expected 'EOF', got '&' at position 5: dir,&̲fileCount=0,&KaTeX parse error: Expected 'EOF', got '&' at position 13: pathCount=0,&̲s.原创 2021-04-25 14:44:09 · 528 阅读 · 0 评论 -
swoole写Socket
<?php/** * Created by PhpStorm. * User: 18660 * Date: 2020/6/21 * Time: 20:21 */Class WebSocketServer{ //server参数 const SERVER_ADDR = "0.0.0.0"; const SERVER_PORT = 9600; //redis参数 const REDIS_ADDR = "127.0.0.1"; const原创 2021-04-25 10:06:40 · 325 阅读 · 0 评论 -
直播部分代码
<?php namespace app\api\controller;use app\common\business\Live as LiveBus;use app\common\business\User;use app\common\lib\CodeResponse;use app\common\lib\im\Tencent\TencentIm;use app\common\lib\live\Tencent\TencentLive;use app\common\lib\Sho原创 2021-04-25 09:22:52 · 1461 阅读 · 2 评论 -
签到代码
<?phpnamespace app\api\controller; use jplt\Pinyin;use jplt\Dates;use think\Config; use think\facade\Db;use app\common\lib\Show;use app\common\model\mysql\LogicUser;// 引入七牛鉴权类use Qiniu\Auth;// 引入七牛上传类use Qiniu\Storage\UploadManager;原创 2021-04-25 09:20:34 · 486 阅读 · 0 评论 -
sql函数和用法
FIND_IN_SET('".$v['dorm_id']."',dorm_ids)"防止你模糊查询,查3,把含有"13,"含有 "23,"的一起查出来 $user=Db::name('user') ->where("FIND_IN_SET('".3."',dorm_ids)" ) ->find() ;原创 2021-04-22 11:12:40 · 923 阅读 · 0 评论 -
thinkphp验证器
控制器中直接使用 /** * 验证规则 */ $rule = [ 'product_id' => 'require', 'number' => 'require', 'delivery' => 'require|integer', 'remark' => 'max:250', 'address_id' => 'require',原创 2021-04-20 15:52:43 · 429 阅读 · 1 评论 -
tcpdf PHPPDF操作
下载链接:https://codeload.github.com/tecnickcom/TCPDF/zip/refs/heads/main原创 2021-04-19 18:22:47 · 567 阅读 · 0 评论 -
vue表格+vue分页+搜索
分页样式.pageination_align { text-align: center } .pageination { color: #48576a; font-size: 12px; display: inline-block; user-select: none; } .pagination_page {原创 2021-04-11 12:19:12 · 452 阅读 · 0 评论 -
算法
这是选择排序这是冒泡排序这是插入排序这是归并排序这是快速排序这是计数排序希尔排序堆排序桶排序基数排序原创 2021-04-05 17:44:53 · 224 阅读 · 0 评论 -
数组函数分析
常用得数组函数函数描述array_count_values()用于统计数组中所有值出现的次数。array_key_exists()检查指定的键名是否存在于数组中。array_keys()返回数组中所有的键名。array_merge()把一个或多个数组合并为一个数组。arsort()对关联数组按照键值进行降序排序。asort()对关联数组按照键值进行升序排序。array_unique()删除数组中重复的值。in_array()检查原创 2021-03-31 13:58:39 · 310 阅读 · 0 评论 -
判断H5页面是否在微信内
/** * 判断H5页面是否在微信内 */public static function h5InWechat(){ if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') !== false ) { return true; } return false;}原创 2021-03-31 13:35:36 · 757 阅读 · 0 评论 -
来自我朋友得原创小游戏、顺行棋
来自我朋友得原创小游戏、顺行棋我朋友sa-admin等著作者,java资深从业者<!DOCTYPE html><html> <head> <title>顺行棋</title> <meta charset="UTF-8"> <style> body{ background-color: #EEE; } .error-fox{margin: 50px auto; text-a原创 2021-03-31 09:58:59 · 299 阅读 · 0 评论 -
简单的模仿vue替换模板
<script src="https://s3.pstatp.com/cdn/expire-1-M/vue/2.6.10/vue.min.js"></script><div id="id1"> <p>{{apple}}</p> <p> {{ball}}</p> <p>{{cat}}</p> <p> {{dogsss}}</p></div原创 2021-03-28 14:09:14 · 445 阅读 · 0 评论 -
加密方式
md5($pass); md5(md5($pass)) sha1($pass); mysql($pass) mysql5($pass) md5($pass.$salt); md5($salt.$pass); md5(md5($pass).$salt); md5(md5($salt).$pass) md5(md5($salt).md5($pass)); md5($salt.md5($pass)) md5($pass.md5($salt)) sha1($salt.$pass) sha.原创 2021-03-28 12:14:56 · 186 阅读 · 0 评论 -
Cookie处理类
<?php/** * Created by PhpStorm. * * Cookie.php * * cookie处理 * * User:YM * Date:2019/12/16 * Time:下午10:14 *//** * Cookie * cookie处理 * @package Core\Common\Facade * User:YM * Date:2019/12/16 * Time:下午10:14 */class Cookie{ /**原创 2021-03-28 12:14:34 · 239 阅读 · 0 评论 -
代码规范
@abstract抽象类的变 和方法@accesspublic, private or protected文档的访问和使用权限。@ ccess private表明这个文档是私有的@author小明文档作者信息@copyright名称时间文档版权信息@deprecatedVersion文档中被废除的方法@deprec同 @deprecated@example/path/to/example文挡的外部保存示例文件的位置@...原创 2021-03-28 12:10:31 · 236 阅读 · 0 评论 -
http——基础知识
简单的说呢,http协议是建立在tco/ip的基础上的,想要了解http先了解一下tcpTCPP协议族里重要的一点就是分层。TCPP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层。应用层应用层决定了向用户提供应用服务时通信的活动。TCPP协议族内预存了各类通用的应用服务。比如,FTP(FileTransfer Protocol,文件传输协议)和DNS( Domain Name System,域名系统)服务就是其中两类HTP协议也处于该层。传输层传输层对上层应用层,提供处于网络连接原创 2021-03-24 00:09:41 · 1243 阅读 · 0 评论 -
crontab——2.php 的 计划任务——Crontab
Crontab Linux/UNIX 系统上最常用 的计划任务 理工具 PHP 开发者在实际项目中会经常使用到该工具。不过受限于实际的项目部署应用环境, Crontab 置信息的编辑多由专门的服务器维护人员操作,项目使用者想要自行添加和编辑,流程较为烦琐。本章将会基于内容管理框架,开发 个可视化的 Crontab 计划任务管理模块,极大地方便了开发者和用户的使用。1 常见计划任务实现万法在实际开发中,经常会遇见有计划任务需求的场景,如创建但未支付的订单,或失败需要退款的商品等,这些都需要定时执原创 2021-03-20 05:09:33 · 1577 阅读 · 0 评论 -
实现接口权限验证——验签
实现接口权限验证开发用户接口实例之前,还需要设计一套严格的接口验证方法,保证 PI 接口的安全性。常见的接口验证一般包含以下几种接口时效性验证。为了防止大 的重复请求, 可以设置每次请求的时效 小到以秒为单位, 大到可以是半个 小时参数完整性验证。一般接口攻击, 都会截获请求,附带额外参数进行攻击,需要进行过滤验证。此时就需要客户端把所有的请求参 数根据一个特定的算法,生成一个签名字符串,并在请求时一并发送。服务器接收到这个 签名字符串后进行验证。用户唯一Token 。用户每次登录都会生成唯 T原创 2021-03-20 02:54:36 · 5308 阅读 · 7 评论 -
php的雪花算法——Godruoyi
这是个类库,可以百度一下:\Godruoyi\Snowflake\Snowflake刚刚了解到的算法针对每个公司,随着服务化演进,单个服务越来越多,数据库分的越来越细,有的时候一个业务需要分成好几个库,这时候自增主键或者序列之类的主键id生成方式已经不再满足需求,分布式系统中需要的是一个全局唯一的id生成规则。既然号称在全局分布式系统中唯一,那么主键的生成规则必然要复杂一些,以前看过很多资料,Snowflake 是 Twitter 内部的一个 ID 生算法,可以通过一些简单的规则保证在大规模分布式情况原创 2021-03-19 03:17:15 · 1013 阅读 · 0 评论 -
暴力解读乐观锁和悲观锁
为什么需要锁(并发控制)在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有: 1.丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 2.脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户A读到的值仍为6。为了解决这些并发带来的问题。 我们需要引入并发控制机制。并发控原创 2021-03-19 02:58:35 · 735 阅读 · 3 评论 -
html直接使用marked.js解析marked文档
<!doctype html><html><head> <meta charset="utf-8"/> <title>Marked in the browser</title></head><body> <div id="content"></div> <script src="https://cdn.jsdelivr.net/npm/marked/marke原创 2021-03-17 10:46:53 · 2310 阅读 · 2 评论 -
懒人搭建——2、上传代码
1、先创建网站2、创建网站后我们得到了这个东西、点击上传代码,解压到当前目录3、好的代码好了,我们整数据库吧4、接下来修改代码中的数据库配置文件,这里每个系统代码都不一样,所以不详细的介绍了...原创 2021-03-16 19:15:14 · 193 阅读 · 0 评论 -
懒人搭建——1、php环境宝塔搭建的流程
来来来,开始走起1、购买时选择CentOS 8.2 64位系统2、购买到服务器后我们g购买的是阿里云的服务器,这里呢有ip地址,等,手机短信会收到短信提醒我们重置一下实例密码3、下载或使用阿里自带的ssl链接输入账户root重置后的密码:********4、链接成功后输入命令:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh &&原创 2021-03-16 17:12:56 · 1236 阅读 · 0 评论 -
设计模式——门脸模式
门面模式,是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使得子系统更容易使用使用模式情况编辑1、客户只需要使用某个复杂系统的子集,或者需要以一种特殊的方式与系统交互时,使用门面模式。2、当需要跟踪原系统的使用情况时 ,使用门面模面模式。因为所有对系统的访问都经过FACADE,所以可以很容易地监视系统的使用 。3、 希望封装和隐藏原系统时。4、编写新类的成本小于所有人使用和维护原系统使用所需的成本时...原创 2021-03-10 01:56:59 · 151 阅读 · 0 评论 -
分库分表得基本思路和概念
一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 -> 分库。2、CPU瓶颈第一种:SQL问题,如SQL中包含join原创 2020-10-30 17:08:46 · 320 阅读 · 0 评论 -
Filter PHP 过滤器\验证器
PHP 过滤器用于对来自非安全来源的数据(比如用户输入)进行验证和过滤。Filter 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。PHP:指示支持该函数的最早的 PHP 版本 php5。函数描述PHPfilter_has_var()检查是否存在指定输入类型的变量。5filter_id()返回指定过滤器的 ID 号。5filter_input()从脚本外部获取输入,并进行过滤。5filter_input_array()从脚本外部获取多项原创 2020-10-30 10:53:41 · 1643 阅读 · 6 评论