首页
统计
壁纸
追番记录
优秀博主
关于
推荐
导航
工具
音乐解锁
Search
1
NAS的简单介绍
731 阅读
2
网站环境一键部署工具推荐
505 阅读
3
tp5-模型数据处理
404 阅读
4
win10镜像
359 阅读
5
第20200225期-电脑壁纸-P10
350 阅读
PHP
闲谈杂料
硬件系统
美图
ThinkPHP
笔记
数据库
Lua
登录
Search
标签搜索
ThinkPHP
MySQL
Laravel
PHP
API
GIT
Windows10
markdown
Web
跨域
ajax
小程序
壁纸
Linux
jsonp
try
异常
Dcat
UEFI
win10
phpfunny
累计撰写
104
篇文章
累计收到
24
条评论
首页
栏目
PHP
闲谈杂料
硬件系统
美图
ThinkPHP
笔记
数据库
Lua
页面
统计
壁纸
追番记录
优秀博主
关于
推荐
导航
工具
音乐解锁
搜索到
104
篇与
的结果
2020-05-31
MySQL储存过程
存储过程:指定特定功能的一条/多条sql语句/批处理语句。函数:执行特定功能的一段代码进行封装。储存过程 PHP里面的函数 方法 类似局部变量:declare 变量名 数据类型 default 默认值;变量的作用范围:begin end;之间设置变量:set 变量名=变量值传参方式:in 传入参数out 传出参数select :相当于echo 输出 打印out: 返回调用结果 相当于returninout 传入传出参数条件判断:if caseif 判断条件 then //执行sql elseif 判断条件 then //执行sql else //执行sql end if;case 变量 when 比较的值 then //执行sql else //执行sql end case;常见的3中循环while循环栗子#在新版本navicat要写第一行语句,老版则省略不写 create definer='root'@'localhost' procedure sp_24_while() #开始创建过程 begin #定义一个变量 declare i int default 0; #条件为真 则执行代码 while i<10 do insert into user(age) values(i); set i=i+1; end while; end执行新建的过程 call sp_24_while();repeat循环栗子repeat #循环语句 until i=10 end repeat; #判断条件为真实停止循环loop无限循环loop #循环语句 #要使用leave或iterate跳出 end loop 游标游标相似于数组1.创建游标 declare 游标名称 cursor for sql语句 2.打开游标 open 游标名称 3.取出游标值 fetch 游标名称 into 变量名//取出单个游标值 //结果集字段的顺序 fetch 游标名称 into 变量名1,变量名2,变量名3//取多个值 4.循环 停止条件 5.关闭游标 close 游标名称栗子BEGIN DECLARE uman VARCHAR(20); DECLARE i INT DEFAULT 0; DECLARE sale_man_cur CURSOR FOR SELECT DISTINCT sale_man FROM xk_order WHERE sale_man <> ''; #检测异常 当游标中数据都取出来时i=1 DECLARE CONTINUE HANDLER FOR NOT found SET i=1; #开启游标 OPEN sale_man_cur; #取出游标 FETCH sale_man_cur into uman; #循环 WHILE i = 0 DO INSERT INTO user(name) VALUES(uman); FETCH sale_man_cur INTO uman; END WHILE; #关闭游标 CLOSE sale_man_cur; END函数create definer=current_user funcion 'func_25_getName'() returns integer begin #定义变量 return 0; end高级特性:1.contains sql 表明子程序包含sql语句(默认)2.no sql 表明子程序不包含sql语句3.reads sql data:说明子程序包含读数据的语句4.modiffes sql data:表明子程序包含写数据的语句执行命令保存在binlog中(只要用于复制和回复)【栗子】获取字符串中随机字符查询:SELECT fun_18_string255(展示随机字符串的长度);事件查看当前事件是否开启查询:show variables like '%event_scheduler%';开启:set GLOBAL event_scheduler = ON;事件的创建简单方法:事件的创建语句create event 事件名称 on schedule at(单次)/every(多次) at 单次执行事件 every 多次执行事件 on completion preserve/not preserve(-选填) preserve 事件到期后保留事件 not preserve 事件到期后删除事件 disable/enable 关闭/开启(-选填) commit '注释' do 执行内容视图视图是一个虚拟存在的逻辑表视图的优点:简单,安全,数据独立事务事务的特性:acid原子性,持久性,隔离性,一致性事务的隔离级别read uncommitted(读未提交RU)会产生脏读现象read committed(数据库的读以提交RC)产生不可重复读,幻读现象repeatable read(可重复读RR-默认级别)避免脏读,不可重复读和幻读现象serializable(串行化)类似队列一个一个执行,效率低最安全#查看事务隔离级别 select @@session.tx_isolation; #设置当前mysql隔离级别 set session transaction isolation level read uncommitted; #设置数据库系统的全局隔离级别 set global transaction isolation level read committed;显式1.开启事务start transaction;2.提交事务commit;3.回滚事务rollback;隐式事务自动提交 show variables like 'autocommit';事务自动提交关闭set autocommit=0;mysql语句mysql -u root -p #输入密码 --使用数据库 use 库名 --展示所有表 show tables; --设置编码 set names gbk; --查看表数据 select * from 表名;ps:什么时候使用索引1.百万级数据2.经常查询的字段6个索引,普通索引唯一索引全文索引单列/多列索引组合索引注意索引失效,失效的情况补充:使用过程来添加测试数据begin #定义一个变量 declare i int default 0; #条件为真 则执行代码 while i<500 do insert into test(uname,age,r_number) values(md5(rand()*900),floor(rand()*90+10),floor(rand()*90000+10000)); set i=i+1; end while; end
2020年05月31日
198 阅读
0 评论
0 点赞
2020-05-31
InnoDB与MyISAM的区别
InnoDB与MyISAM的区别存储引擎是数据库的核心,对mysql来说存储引擎是以插件形式运行的。【不同的功能】M最大可以存256TB的数据,I最大可以存64TBM不支持事务,I支持M支持全文索引,I不支持M不支持数据索引,I支持M支持数据压缩,I不支持M空间使用率低,I使用率高M不支持外键,I支持全文索引 以关键字去找行(数据)数据索引 Mysql常见索引有:主键索引、唯一索引、普通索引、全文索引、组合索引【存储引擎】myisam在磁盘上存储成三个文件分别是:1.frm表的定义数据。2.MYD表记录数据。3.MYI存储索引。缺点不支持事务,优点存储速度快。innodb的特点:支持事务(默认隔离级别为可重复度)。使用锁为行级锁,可以支持并发。支持外键约束,缺点是降低了表的查询速度,优点增加表之间的耦合度来自牛客网友的精彩回复链接:https://www.nowcoder.com/questionTerminal/d5739672e78c498885ba2a540ab53500?source=relative 来源:牛客网 问题:请介绍一下,数据库索引,以及,什么时候用Innodb什么时候用MyISAM。 用户提问 数据库 何时使用MyISAM和InnoDB? MyISAM的设计理念是: 你的数据库被查询得远远超过其更新,因此它执行非常快速的读取操作。 如果你的读写比例(插入|更新)小于15%,则最好使用MyISAM。 InnoDB使用行级锁定,提交,回滚和崩溃恢复功能来保护用户数据。 它支持事务和容错 MyISAM和InnobDB之间的上述差异是否正确? 如果MYISAM和InnobDB有任何其他限制,请指导。我应该何时使用MyiSAM或Innodb?谢谢! 关注问题 写回答 2 个回答 热门排序 用户回答 MyISAM数据: MySQL中的MyISAM存储引擎。 设计和创建更简单,因此对初学者更好。不用担心表格之间的外部关系。 整体而言,由于结构更简单,服务器资源成本更低,因此总体上比InnoDB更快。 大部分不再是真的。 全文索引。- InnoDB现在拥有它 特别适合读密集(选择)表格。 - 大部分不再是真的。 磁盘占用空间比InnoDB少2至3倍。 - 从5.7版本开始,这可能是MyISAM唯一的真正优势。 InnoDB的: MySQL中的InnoDB存储引擎。 支持交易(为您提供对ACID资产的支持)。 行级锁定。与例如MyISAM相比,拥有更细粒度的锁定机制可为您提供更高的并发性。 外键约束。允许您让数据库确保数据库状态的完整性以及表之间的关系。 InnoDB比MyISAM更能抵抗表损坏。 支持数据和索引的大型缓冲池。 MyISAM密钥缓冲区仅用于索引。 MyISAM停滞不前; 所有未来的增强将在InnoDB中进行。随着8.0版的推出,这一点非常明确。 MyISAM限制: 没有外键和级联删除/更新 没有交易完整性(符合ACID) 没有回滚能力 4,284,867,296行限制(2 ^ 32) - 这是旧的默认值。可配置的限制(对于许多版本)是2 ** 56字节。 每个表最多有64个索引 nnoDB限制: 没有全文索引(低于5.6的mysql版本) 无法压缩为快速,只读(5.5.14介绍ROW_FORMAT=COMPRESSED) 您无法修复InnoDB表MyISAM和InnoDB在索引上的差别及其它区别
2020年05月31日
189 阅读
0 评论
0 点赞
2020-05-31
MySQL主从复制
【介绍】需求:A库(MyISAM)读操作,B库(InnDB)写操作读写分离,两个数据一致。主从复制:两个数据库,一个主服务,一个从服务 主服务 用来执行写操作,从服务用来执行写【第一步】配置以下配置 需要放置在mysqld服务ID 主从服务ID 需要不同server-id = 1 #启动二进制日志 log-bin=mysql-bin 时则不需要修改log-bin= 当前文件所在目录/data/mysqlbinlog-err= 当前文件所在目录/data/mysqlerr 例如log-bin=D:/phpstudy/PHPTutorial/MySQL/data/mysqlbinlog-err= D:/phpstudy/PHPTutorial/MySQL/data/mysqlerr若两个库的名字不一致replicate-rewrite-db=zxkang_sync->test【第二步】创建主从账号1.创建用于主从复制的连接账号GRANT REPLICATION SLAVE ON . TO 'slave'@'%' IDENTIFIED BY '123456';2.主库运行SQL语句 5.6版本set global binlog_checksum=NONE;3.刷新缓存flush privileges;3.查看日志文件和管道号show master status【第三步】连接副从账号1.建立主从复制连接CHANGE MASTER TO master_host = '39.96.86.74',master_port = 3306,master_user = 'slave',master_password = '123456',master_log_file = 'mysql-bin.000006',//第二步得到的管道号master_log_pos = 410;//第二步得到的端口号2.开始主从复制服务START SLAVE;3.查看主从复制服务是否已经连接show slave statusSlave_IO_Running Yes Slave_SQL_Running Yes关闭主从复制服务stop SLAVE【第四步】测试在主数据库中新建一个表并保存,去副数据看是否存在。
2020年05月31日
209 阅读
0 评论
0 点赞
2020-05-26
MySQL事务笔记
【事务使用的方式】手动开启/自动开启手动方式(显式):#开启事务 start transaction; #提交事务 commit; #回滚事务 rollback;自动方式(隐式):#显示事务自动提交(off/on) show variables like 'autocommit'; //数据的增删改查 #事务自动提交关闭 set autocommit=0;【事务acid特性】原子性:不可分割的工作单位,在事务操作中只有都发生和都不发生。持久性:一个事务已执行对数据的改变是永久性,之后的操作和数据库故障不会对其影响。隔离性:同时间只允许一个事务请求同一数据,并发执行不同事务无任何干扰。一致性:事务开始前和结束后,数据库的完整性约束没有被破坏,比如转钱。数据库的完整约束性数据完整性约束是一组完整性规则的集合。规则包含:实体完整性、参照完整性、用户定义完整性。实体完整性:规定表的每一行在表中是惟一的实体。参照完整性:是指两个表的主关键字和外关键字的数据应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。用户定义的完整性:用户定义的完整性即是针对某个特定关系数据库的约束条件。可以省略-域完整性:表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。完整性约束的类型:与表有关的约束:是表中定义的一种约束。可在列定义时定义该约束,此时称为列约束,也可以在表定义时定义约束,此时称为表约束。域(Domain)约束:在域定义中被定义的一种约束,它与在特定域中定义的任何列都有关系。断言(Assertion):在断言定义时定义的一种约束,它可以与一个或多个表进行关联。隔离性有4种级别read uncommitted(读未提交RU)会产生脏读现象read committed(数据库的读以提交RC)产生不可重复读,幻读现象repeatable read(可重复读RR-默认级别)避免脏读,不可重复读和幻读现象serializable(串行化)类似队列一个一个执行,效率低最安全设置隔离模式默认为可重复读,一般情况下不会改模式#查看事务隔离级别 select @@session.tx_isolation; #设置当前mysql隔离级别 set session transaction isolation level read uncommitted; #设置数据库系统的全局隔离级别 set global transaction isolation level read committed;【其他】mysql简单操作mysql -u root -p #输入密码 --使用数据库 use 库名 --展示所有表 show tables; --设置编码 set names gbk; --查看表数据 select * from 表名;
2020年05月26日
187 阅读
0 评论
3 点赞
2020-05-26
随机图片1920x1080
Bing 高清风景图片接口4k图片加载缓慢https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture二刺螈随机图片接口二次元-有部分不适宜图片【滑稽】作者阿钰,接口说明https://random.52ecy.cn/randbg.php风景随机图片接口作者韩小韩,接口说明https://api.vvhan.com/api/view
2020年05月26日
183 阅读
0 评论
0 点赞
2020-05-25
【网盘下载】3中方式
介绍pandown 已经挂掉很长时间了,近期又需要下载网盘中的数据,就随便找了了以前的其他下载方案暂时临时使用,时间长肯定失效,建议关注原作者进行更新1.亿寻不限速,无需登陆作者官网2.speedPan不限速,需要登陆,vip3.PDownv限速(不登录300kb/s,登陆600kb/s) 下载小文件使用下载地址http://blog.uuppp.top/avatar/1/百度网盘下载.rar
2020年05月25日
164 阅读
0 评论
0 点赞
2020-05-19
tp5检查redis安装是否成功
1.首先你的php得是已经安装了redis扩展的2.在tp里找到config.php配置文件,找到cache,改成下面的样子'cache' => [ // 选择模式 'type' => 'complex', // 默认(文件缓存) 'default'=>[ // 驱动方式 'type' => 'File', // 缓存保存目录 'path' => CACHE_PATH, // 缓存前缀 'prefix' => '', // 缓存有效期 0表示永久缓存 'expire' => 0, ], //redis缓存设置 'redis' => [ // 驱动方式 'type' => 'redis', // 服务器地址 'host' => '127.0.0.1', //redis服务器ip 'password' => '', 'port' => '6379', 'password'=> "", 'timeout' => 3600 ], ],3.控制器里写上以下代码测试一下<?php namespace app\index\controller; class Index { public $redis; public function __construct(){ $this->redis = new \Redis(); $this->redis->connect('127.0.0.1',6379); } public function index() { $redis = $this->redis; echo $redis->ping(); } }
2020年05月19日
120 阅读
0 评论
0 点赞
2020-05-13
CURL方法
CURL方法curl_setopt()函数的参数PHP CURL curl_setopt 参数bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。一般常用的curl方式接口介绍$headers = [ "Content-type: application/json;charset='utf-8'", "Accept: application/json", "Cache-Control: no-cache", "Pragma: no-cache" ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);//当请求https的数据时,会要求证书,这时候,加上以上这两个参数,规避ssl的证书检查 curl_setopt($ch, CURLOPT_TIMEOUT, 60);//设置超时时间 curl_setopt($ch, CURLOPT_POST, TRUE);//设置post方式提交 curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post)); //post提交数据,数组格式,键名是name,键值是value curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);//CURLOPT_RETURNTRANSFER 不设置 curl_exec返回TRUE 设置 curl_exec返回json(此处) 失败都返回FALSE curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $data = curl_exec($ch); curl_close($ch);
2020年05月13日
172 阅读
0 评论
0 点赞
2020-04-10
宽带,路由,WiFi6一些闲谈
5G的普及大大推动了社会进步从2013年新浪科技的这篇资讯新闻回首在2013年那个智能手机刚刚普及的年代日本这家网络运营商已经开始使用2Gbps速度的光纤服务。在那个年代这种成熟技术全球屈指可数。而我们现在家庭宽带从100Mbps,到200Mbps,再到500、1000Mbps 甚至 2Gbps,(2Gbps宽带下载速度约等于256MB/s)这种积累将带来应用上的质变。对电脑而言,软件是如此,而网络传输的内容及信息,同样也会经历这样的质变过程。在数据传过程中我们必须要了解一些常识传输介质,传输设备,接收设备(数据存储)等这些更新换代很快的东西从运行商服务器到小区光交换机,这个光交换机我们无需了解。光交换机到用户家中的光纤,这时候用的设备自己就可以决定了光猫在办理宽带业务时会送一个跟运营商绑定的光设备,有钱的话可以自己购买光猫,现在运营商送的都是千兆光猫。光猫分为百兆,千兆,万兆设备。这里提一下外观贼拉漂亮的华为HN8245Q 10GE ONU EPON万兆光设备想要发挥宽带原本的速度,光猫设备的速度要大于办理宽带的速度在光猫设置这块也没有什么好说的,就是改成桥接模式。之后就是光猫连接路由器,路由器的性能也很重要。现在各个电子厂商都推出了自己各种搭载WiFi6代的802.11ax技术路由设备WiFi5代刚刚推出没多久,WiFi6代也随之而来,技术进步还是最快的。4代,5代,6代之间的参数对比这里为什么要推荐使用WiFi6代的路由器呢。在手机,笔记本设备作为使用WiFi最多的设备,网速影响使用情况使用WiFi进行娱乐,办公已经成为当下趋势速度当然越快越好,在5G技术的推动下说不定万兆宽带会在这几年面向普通用户[没事做做美梦还挺快乐的]WiFi发射的无线电波会根据用户使用环境发生改变,信号会发生衰落导致网速变卡,所以说WiFi的宽带耗损很是严重的。这时候就需要一个强悍的路由[花钱]来解决耗损问题。在上面的参数对比图中可以看如果宽带是在千兆以上,那这就的需要路由器带有WiFi6代的技术WiFi5的最大单流带宽是867Mbps WiFi5代的路由器使用不会达到千兆网速效果说完路由的问题,最后提一下使用设备,手机/笔记本/平板路由器要是使用的WiFi6代,那么发送最大数据量会超过千兆。这时候就有个问题了,这些设备例如手机,是否接受能达到千兆网速?手机硬件也需要使用WiFi6的技术,使用WiFi就要做好宽带耗损面临的问题。最后说一下:千万不要使用手机连接WiFi来测试宽带速度。不准确,不准确,不准确!!!参考文章:2Gbps 宽带上线,你的电脑还跟得上网速吗?索尼推出全球最快上网服务:网速达2Gbps
2020年04月10日
177 阅读
0 评论
0 点赞
2020-04-04
win10镜像
自用精简镜像Windows10采集Windows10 版本号1809原版镜像进行二次制作版本号:1809(2018年9月发布)将专业版中内置的不常用的软件去除(例如:3D,Windows Defender,我的世界...)极限去除内置应用,系统设置略微更改。注意:只将该镜像中“专业版”二次制作。其他版本(家庭版,教育版和企业版)均为原版内容未对其经行更改。MD5: F0236B14999ED2DFF7474FEDF466B46B SHA1: C1A930EE16D7E1EB8D0E41DA61AD81D81D772533 CRC32: AA7430F3下载链接:已经失效自用精简镜像Windows10 TLSCTLSC->微软官方精简系统,作为长期服务的特殊企业镜像推荐安装‘Win10_LTSC_x64_0207’这个镜像来自吻妻,2020-02-07更新的LTSC推荐原因:原生Internet Explorer 11原生无捆绑微软UWP全家桶原生无应用商店、小娜、OneDrive、Edge浏览器移除SmartScreen 筛选器、Windows 安全中心自动激活吹爆LTSC就完事了下载链接已失效
2020年04月04日
359 阅读
1 评论
0 点赞
2020-04-04
2020年4月4日全国性哀悼活动
为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院今天(4月3日)发布公告,决定2020年4月4日举行全国性哀悼活动。在此期间,全国和驻外使领馆下半旗志哀,全国停止公共娱乐活动。4月4日10时起,全国人民默哀3分钟,汽车、火车、舰船鸣笛,防空警报鸣响。新冠病疫情爆发下全国人们应勇奋战,4月4日让我们来为疫情斗争牺牲烈士和逝世同胞哀悼,是他们的不懈,坚持和付出,才使我们有效的控制了疫情传播。虽然疫情在国内已经有效的控制,我们也不要放松警惕。我们还要继续,带口罩,勤洗手,勤消毒。愿新冠病早日得到根除,解救全国人民于水火 不要成天担惊受怕。为了哀悼牺牲和逝世的同胞们我将博客设置为灰色,届时将恢复<style type="text/css"> /*把整个网页都设置成灰色,素色*/ html { -webkit-filter: grayscale(100%); filter: progid:DXImageTransform.Microsoft.BasicImage(graysale=1); } </style>
2020年04月04日
134 阅读
0 评论
0 点赞
2020-03-23
网站环境一键部署工具推荐
前言一个网站的运行其中环境必不可少。网站它一般分为前端和后台,网站后台主要功能就是处理数据,存储数据..等等,既然数据有'互动'那后台所使用的语言可能是PHP,JAVA,Python,Go...虽然语言不同但需要的环境相似,且不完全一样。比如我所学习的是PHP语言,后台以为php为主,那大家都知道两种方式,一是LAMP:Linux+apache+mysql+php,二是WAMP:windows+apache+mysql+php,这两种环境大家可能都同时使用,在本地电脑搭建环境用WAMP方式(windows操作简单)在服务器搭建环境用LAMP方式(Linux性能最强)这些环境原本安装是需要一个一个配置的,很是麻烦。所以程序员们就做了现在这些一键配置一键启动环境的工具这些工具不仅对小白来说是个福音,对老司机来说也是必备的工具。我来推荐一下我所使用过的那些环境工具箱XAMPP这是我学习php第一个接触的集成软件【优点缺点】apache,php,mysql可以分开启动,但没有一键启动界面都是英文没有汉化版对小白来说改个配置项困难些安装过程稍稍麻烦些(安装插件多)【适合系统】Linux,Windows,Mas Os, Solaris SPARC【最新版本】XAMPP 1.8.3Apache 2.4.4MySQL 5.6.11PHP 5.5.3phpMyAdmin 4.0.4FileZillaFTP Server 0.9.41Tomcat 7.0.42 (with mod_proxy_ajp as connector)Strawberry Perl 5.16.3.1 PortableXAMPP Control Panel 3.2.1 (from hackattack142)图片来源网络题外话:练习网站攻击推荐使用XAMPP+DVWA->详情WampServer界面排版简洁,有汉化版,该软件作者是由法国人开发的Apache Web服务器,PHP解释器以及MySQL数据库的整合软件包。省去了繁琐配置环境过程。-> 官网介绍【优点缺点】一键启动是他的最大优点之一,直接打开Localhost本地网页直接打开phpMyAdmin网页Apache,php,mysql配置拓展修改简单图片来源网络【最新版本】Wampserver 3.2.0 64位/32位Apache 2.4.41PHP 5.6.40、7.3.12、7.4.0MariaDB 10.4.10 | 10.3.20PhpMyAdmin 4.9.2PhpSysInfo 3.3.1phpstudy(原版)使用时间最久我在学习thinkPHP框架时所用使用的软件主要使用Apache和MySQL【优点缺点】一键启动,分开启动切换php版本方便由图片可以看出来真正的简约,功能不复杂一看就会运行模型分为系统模式和非服务模式作为系统模式可以随着系统启动自动运行环境后来被安徽小皮教育收购又名小皮工具箱【适合系统】全面适合 Win2000/XP/2003/win7/win8/win10 操作系统,支持IIS和Apache、Nginx、Lighttpd。phpStudy(小皮工具箱)目前正在使用的软件-小皮工具箱国内优秀团队优化更新,炒鸡好用官网介绍【优点缺点】一键启动五大核心:多环境切换,多版本切换,PHP多版本共存,一键配置FTP,多用户多权限。UI界面有科技感有众多工具可供下载比如:redis,composer,SQL_Front5.3环境运行状态可以看内存硬盘使用率系统日志【适合系统】Windows,Linux【最新版本】phpStudy v8.1(32+64位)宝塔优秀的Linux网页版环境我经常在linux服务器上使用宝塔,使用特简单有专属应用商店官网详细介绍【优点缺点】在Linux服务器上搭建建站环境很麻烦,使用宝塔就方便很多了。只用宝塔的面板可直接看服务器的运作状态-数据化。监控,安全,任务计划=》功能完善。【适合系统】Windows,Linux【最新版本】7.1phpEnv-正在尝试国人制作维护,打算测试一下是否像宣传的那样好用官方介绍【优点缺点】待使用
2020年03月23日
505 阅读
0 评论
0 点赞
2020-03-23
控制器输出
控制器输出json数据打印简单的json数据在headers头文件中内容类型还是html格式文件public function zy(){ $arr=Db::table('app_users') ->field('id,username,sex,email') ->find(); echo json_encode($arr); }运行结果{"id":13,"username":"admins","sex":1,"email":"fengerda@163.com"}//将数组转成json格式数据json_encode($arr);只是将显示得结果转为json数据,但格式还是原先得html格式查看html源代码可以看出来不光有结果还有tp的一些东西要想只显示json数据内容 在echo后面写exit(); return代替echo会获取空值,因为会两次json编译在ajax中使用服务器返回数据类型为json$.ajax({ type:'post', .... success:function(data){}, dataType:'json'//回调数据的格式html,text,json,xml });返回得结果和内容属性都是json格式输出方式【强制设置输出类型】根据请求类型直接判断进行输出\think\Config::set('default_return_type','json'); return $arr;【原生方式】通过原生方式返回数据不会设置头信息echo json_encode($arr); exit();json_encode(数据,额外参数)第2参数:额外参数可以设置成定义的常量例如不写第二参数那么最后显示的带有中文的字符会自动转为'\u8d85'这种形式加入JSON_UNESCAPED_UNICODE后即可显示原样中文字符JSON_HEX_QUOT,JSON_HEX_TAG,JSON_HEX_AMP,JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT,JSON_PRESERVE_ZERO_FRACTION,JSON_UNESCAPED_UNICODE, JSON_PARTIAL_OUTPUT_ON_ERROR。具体含义参考:预定义常量【自动输出】根据请求类型来觉得用什么格式的数据输出,输出的同时会自动设置头信息return $arr通过配置项来修改设置\think\Config::set('default_return_type',json);'default_return_type'=>'html','default_ajax_return'=>'json','default_jsonp_handler'=>'jsonpReturn'【手动输出】根据我们的需求进行输出,输出是会自动匹配头信息的格式//类的静态调用 return Respanse::create($data,'json',$code,$header,输出参数); //助手函数 return json(c1,c2,c3,c4); 参数1:数组数据,参数2:状态码,参数3:头信息参数,参数4:额外参数关于设置头信息请参考ThinkPHP5控制器从入门到精通-第八章响应输出-设置信息头
2020年03月23日
162 阅读
0 评论
0 点赞
2020-03-13
tp的命名空间加载
1.根命名空间加载在tp中有三个预定义的根命名空间app应用类库 applicationthink系统核心类库thinkphp/library/thinktraits系统Trait类库thinkphp/library/traits//use的使用方法: use think\Request use think\Session如果需要增加新的根命名空间,有两种方式:注册新的根命名空间或者放入EXTEND_PATH目录(自动注册)2.自动注册需要把自己的类库包目录放入EXTEND_PATH目录(默认为extend,可配置),就可以自动注册对应的命名空间。通俗来讲是在extend目录下新建一个文件就这个文件夹名字当作一个根命名空间栗子://类文件位于extend/my/Test.php//命名空间是namespace my; //直接new $test = new \my\Test();应用入口重新定义EXTEND_PATH常量可以改变\my\Test类文件的位置define('EXTEND_PATH','../vendor/');那么\my\Test类文件的位置就变成了/vendor/my/File.php。注意不能定义含有预定义的三个根命名空间名字3.手动注册手动定义一个根命名空间比自动定义还要方便,更自由。//单独注册 \think\Loader::addNamespace('命名空间','路径'); \think\Loader::addNamespace('my\test','../application/extend/my/test');//批量注册 \think\Loader::addNamespace([ '命名空间1','路径1', '命名空间2','路径2', ...... ]);4.类库映射定义一个完整的命名空间的类名//单独注册 loader::addClassMap('think\log',LIB_PATH,'think\log.php');//批量注册 $map = [ 'think\Log' => LIB_PATH.'think\Log.php', 'org\util\array'=> LIB_PATH.'org\util\Array.php' ]; Loader::addClassMap($map);5.手动加载手动加载自由度最大,①可以有命名空间,遵循tp规范。②可以有命名空间,不遵循tp规范。③没有命名空间。使用think\Loader类的import方法手动加载类库文件loader('类库命名空间字符串','起始路径','文件拓展名')栗子://加载当前模块应用类库 Loader::import('@.test.wechat#mail#class');//目录中斜杠用点替换,类中的点用井号代替 //加载其它模块的类库 \think\Loader::import('index.zx.zx',APP_PATH,'.class.php'); \think\Loader::import('index.zx.zx','../application','.class.php');6.Composer下载依赖类包名字和相关信息定义成json文件加载类文件:配置和所需的类包进行关联,降低程序代码耦合度代码的仓库:所有类库都是发布在他的平台https://packagist.org/栗子://下载topthink作者的处理图片类 $img=\think\Image::open('static/img/in.jpg')->size(); //查看本地图片的尺寸
2020年03月13日
176 阅读
0 评论
0 点赞
2020-03-10
破解win10开机密码
暴力破解win10登录密码利用粘滞键程序替换成cmd程序首先要使计算机进入Windows修复模式方法一:开机刚出现win_logo界面快速关机,反复三次可进入修复模式方法二:在输入密码界面按Shift+右下角重启,可进入修复模式进入自动修复点击疑难解答选择高级选项选择命令提示符进入cmd管理员身份的界面输入以下代码//进入计算机磁盘管理 >diskpart //查看磁盘分区-记住系统所在分区位置 >list volume //退出 >exit //进入D盘-系统所在分区 >D: //进入sys32 >cd windows\system32 //重新命名粘滞键程序-粘滞键sethc.exe >ren sethc.exe sethc1.exe //重新命名cmd程序名-cmd.exe >ren cmd.exe sethc.exe //退出cmd >exit退出之后选择继续使用windows10进入登录界面,按shift五次cmd命令提示符窗口弹出//进入控制台窗口 >mmc.exe在控制台窗口添加管理单元选择本地用户和组点击想要修改密码的用户名点击右键设置密码最后保存END----其他补充磁盘分区E盘是光驱C盘是系统保留分区D盘是系统所在分区win7和win10的修改密码差不多进入系统之后记得要把sethc.exe和cmd.exe名字修改回去,否则在运行中输入cmd,会报错。
2020年03月10日
240 阅读
0 评论
3 点赞
1
...
4
5
6
7