自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (17)
  • 收藏
  • 关注

原创 关于php匿名函数中的use

public function mkFunc(){ //唯一改动是此处加了use $func = function()use($this){ echo $this->_num++, "\n";可见使用引用传递时,即使变量滞后于函数定义,函数内部还是可以找到外部相应的变量,不会出现变量未定义的情况。

2024-02-07 09:30:32 1041

原创 php5.0到5.6的新特性,开发时应注意版本的兼容性

改变数组函数 natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip(), 和 array_unique() 将不再接受对象作为参数。改变get_class(),get_parent_class()和get_class_methods() 返回的类/方法名和定义时的名字一致(区分大小写)改变get_magic_quotes_gpc() 和 get_magic_quotes_runtime() 现在总是返回 FALSE。

2024-02-07 09:27:55 818

原创 图片文件转化成二进制流 (防止出现“图像因其本身有错无法显示‘的问题)

/获取图片二进制流。ob_clean();//清除缓冲区,防止出现“图像因其本身有错无法显示'的问题。如果不加 ob_clean();就会出现下面的bug。//或者把此文件地址作为img标签src地址输出。2 google浏览器是这样的。1 火狐浏览器是这样的。

2024-02-06 09:56:40 371

原创 php读取文件的三个方法

【代码】php读取文件的三个方法。

2024-02-06 09:53:56 153

原创 一个设备内存2M,一个1G大小的文件,这个文件有若干行,输出其中的带有hello的行以及行数

第二种:PHP程序yield ,和awk这个命令用的时间差不多一样,效率是很高的。

2024-02-05 10:08:51 726

原创 rabbitMQ基本介绍

5 把队列和交换机绑定 $channel->queue_bind('msg-inbox-logs','logs-exchange','error.msg-inbox');3 声明交换机 $channel->exchange_declare('logs-exchange','topic',false,true,false);3 声明交换机 $channel->exchange_declare('logs-exchange','topic',false,true,false);

2024-02-05 10:05:53 1040 1

原创 mysql面试题

【代码】mysql面试题。

2024-02-04 09:48:14 221

原创 mysql面试

select c.name,case when u.sex=1 then "男" else "女" end as xb,count(c.id) from ms_chejiu c join ms_user u on u.id=c.uid group by c.name,u.sex。join和inner join 后面可以是on也可以是where。考点:left join , right join join inner join。考点:1 group by分组 和count统计函数的使用。

2024-02-04 09:46:49 786

原创 php合并数组的几种方式 并简述其特点

array_merge_recursive后,相同键名的键值会被合并到同一数组中(会递归)它们的区别主要体现在对于相同键名(数字键名、字符串键名)的处理方式。array_merge_recursive后,重排数字键,不会覆盖。array_merge后,后面数组的键值会覆盖前面的。+操作后,前面数组的键值会覆盖后面的,保留之前数字键。array_merge后,重排数字键,不会覆盖。+后,前面数组的键值会覆盖后面的。

2024-02-02 09:55:48 369

原创 一条select在mysql中的执行过程

一个select语句,会先到查询缓存中看看,若是以前执行过,直接将查询结果返回给客户端,若是查询缓存没有命中,就需要执行后面的计划。●调用innodb引擎接口取这个表的第一行,遍历所有的判断字段,如果满足,就将查询结果存在结果集。打开表的时候,执行器就会根据表的引擎定义,去使用这个引擎提供的接口;很多时候,两种执行方法的逻辑结果是一样的,但是执行效率会有不同,而优化器就是决定选择哪个方案;经过分析器,mysql知道你要干什么了,在开始执行前,还要经过优化器的处理。如果没有命中查询缓存,就要开始分析器了;

2024-02-02 09:54:54 302

原创 TP5手动集成GatewayWorker

Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架,而GatewayWorker则是基于Workerman开发的一个长连接框架,支持分布式部署,支持全局广播或者向任意客户端推送数据,作为快速开发TCP长连接应用非常方便;重点://由于是手动添加,因此需要注册命名空间,方便自动加载,具体代码路径以实际情况为准。//由于是手动添加,因此需要注册命名空间,方便自动加载,具体代码路径以实际情况为准。路径:/application/push/controller/Run.php。

2024-02-01 10:06:52 576

原创 js动画形式

【代码】动画形式。

2024-02-01 10:04:33 108

原创 Yii2之类自动加载

同时这里通过把spl_autoload_register()方法第三个参数赋值为true,把yii的类加载器放在了加载器队列的最前面,所以当访问一个未加载的类的时候,yii的类自动加载器会最先被调用。这个方法首先会根据需要加载的类的名称去Yii::$classMap这个映射数组中查找,若存在则引入对应的类文件,不存在则进行别名解析得到完整文件路径,这里也说明若使用的类不在YII::$classMap中事先定义,则类名必须以有效的根别名打头,否则无法找到对应文件。//注册yii的类自动加载器。

2024-01-31 09:51:34 657

原创 yii2 mongodb 操作

类似mysql in操作 ($categoryIdArr是数组)->where(['label'=>['$regex' =>'赞美诗']]) 模糊搜索操作。->where(['','review',""]) 不等于空。->offset(3)从第三条开始。->limit(3)取三条数据。查询多条数据和单条数据。

2024-01-31 09:50:32 655

原创 shell 判断文件是否存在

then //一定要注意[] 與裡面的內容要有空格隔开 例如 if [(空格)${a} -eq 3(空格)];if [ -n $string ] 如果string 非空(非0),返回0(true)if [ int1 -eq int2 ] 如果int1等于int2。if [ int1 -ne int2 ] 如果不等于。if [ int1 -ge int2 ] 如果>=if [ int1 -gt int2 ] 如果>if [ int1 -le int2 ] 如果。

2024-01-30 10:10:11 703

原创 service mysqld start

此命令位于/sbin目录下,用file命令查看此命令会发现它是一个脚本命令。分析脚本可知此命令的作用是去/etc/init.d目录下寻找相应的服务,进行开启和关闭等操作。service命令是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动(start)、停止(stop)、重新启动(restart)和关闭系统服务,还可以显示所有系统服务的当前状态(status)。服务名:自动要控制的服务名,即/etc/init.d目录下的脚本文件名;service(选项)(参数)

2024-01-30 10:09:14 129

原创 getopt() 冒号规则

首先是不带冒号的 abcdef 写法,返回的数组中都包含键,但没有值,对应上面的规则就是不接受这些参数选项的值,你传了这些参数选项也是只有键名而内容是空的。上文中我们提到过参数中断的问题,就是在选项参数之后如果有一个非选项参数的参数出现,getopt() 就无法再获取到这个非选项参数后面的所有内容了。注释已经写得很清晰了,第三个参数会回调一个参数选项中断位置的索引,并且这个索引是和 $argv 的索引顺序位置一致的。第三段是空格形式的选项值,双冒号 :: 有键名但没有值,单冒号 : 键值正常。

2024-01-29 09:42:22 824

原创 php cli模式下获取参数的方法

首先要说明的是,ccc 和 ddd 不是标准的选项参数,也就是说,这个函数接收的内容是以 - 开头的选项,所以 ccc 和 ddd 不会在这里输出,并且需要注意的是,非选项参数会中断选项参数的获取,在 ccc 之后如果继续添加 - 开头的选项也是无法获取到的,这个我们后面还会看到。其实就是这样一个简单的函数,我们就可以像 Linux 的命令选项一样获取指定的命令值。可以看到argv[0]为当前执行的php文件名称,而argv[1]~argv[3]则是传递的参数的值。argv[2]等于is_hot的值。

2024-01-29 09:40:36 998

原创 查看php-fpm占用内存情况

x extended Show the extended format. 显示扩展格式 -d device Show the device format. 显示设备格式 -q quiet Do not display some header/footer lines. 不显示头尾行 -V show version Displays version of program. 显示版本。是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行。2 查看单个php-fpm进程消耗内存的明细。

2024-01-26 10:06:52 362

原创 awk 分析日志命令

9 grep "24/Mar/2019" host.access.log |awk '{print $4}' | cut -c14-21 | sort | uniq -c | sort -rn | head -10 某一天的每小时请求量统计 12、统计每小时的请求数,top100的时间点(精确到小时)12 awk '{print $1}' access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn 查看访问100次以上的IP。

2024-01-26 10:05:14 182

原创 服务器宝塔安全需要修改的设置

我们建议在生产环境只开放uploads和runtime目录的读写权限,其次还需要关闭uploads目录执行PHP的权限,因为很多时候用户上传恶意脚本,而服务端uploads目录又未屏蔽PHP,导致用户数据泄漏丢失。目录安全在是经常容易生产问题的一个环节,很多时候我们都会忽略或忘记进行站点目录安全的配置。通过以上的配置还不够,我们还需要继续对服务器做WEB配置以限制PHP脚本的运行。Nginx可以通过以下配置禁止PHP脚本执行。4 面板设置 basicauth。2 设置第一层访问密码。

2024-01-25 09:39:19 1234

原创 js动画形式

【代码】js动画形式。

2024-01-25 09:37:47 379

原创 php5.0到5.6的新特性,开发时应注意版本的兼容性

改变数组函数 natsort(), natcasesort(), usort(), uasort(), uksort(), array_flip(), 和 array_unique() 将不再接受对象作为参数。改变get_class(),get_parent_class()和get_class_methods() 返回的类/方法名和定义时的名字一致(区分大小写)改变get_magic_quotes_gpc() 和 get_magic_quotes_runtime() 现在总是返回 FALSE。

2024-01-24 09:53:11 505

原创 php读取文件的三个方法

【代码】php读取文件的三个方法。

2024-01-24 09:52:16 538

原创 ftp连接报错:227 entering passive mode

用阿里的云服务器,宝塔安装的linux环境,ftp连接总包这个错误:227 entering passive mode (172,17,149,105,155,72)如果使用的是阿里云服务器,需要在安全组设置中,对22、21端口放行,并且被动端口(39000 - 40000)也需要处于放行状态。

2024-01-23 10:15:17 2431

原创 es等于不等于查询

【代码】es等于不等于查询。

2024-01-23 10:13:10 1102

原创 yii2 手动安装第三方扩展

1复制第三方扩展到C:\Users\xpz\Documents\NetBeansProjects\yiicms\admincms.china.com\vendor\yiisoft\目录下。2 添加自动加载:打开vendor/yiisoft/extensions.php 文件,在里面的数组里增加一项,如下面代码。

2024-01-19 09:52:55 471

原创 TP5手动集成GatewayWorker

Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架,而GatewayWorker则是基于Workerman开发的一个长连接框架,支持分布式部署,支持全局广播或者向任意客户端推送数据,作为快速开发TCP长连接应用非常方便;重点://由于是手动添加,因此需要注册命名空间,方便自动加载,具体代码路径以实际情况为准。//由于是手动添加,因此需要注册命名空间,方便自动加载,具体代码路径以实际情况为准。路径:/application/push/controller/Run.php。

2024-01-19 09:51:04 658

原创 env的解释

env: 用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。变量定义:定义在新的环境中变量,定义多个变量定义用空格隔开。格式为“变量名=值”比如 echo $PATH echo $USER等。只要是env里存在的变量,用echo都可以打印。

2024-01-17 10:34:40 765

原创 thinkphp 可执行文件think

usr/bin/env php会好些,当然更好的是#!/usr/bin/env -S-P/usr/local/bin:/usr/bin:${PATH} php一般使用#!/usr/bin/env -S -P/usr/local/bin:/usr/bin php的作用就是在/usr/local/bin和/usr/bin目录下寻找php。/usr/bin/php think spider --user php软连接到php的安装目录下的可执行文件(/www/server/php/73/bin/php)

2024-01-17 10:33:41 1725

原创 thinkphp 命令行执行

echo $PATH/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin这里/usr/local/bin优先于/usr/bin。上面的意思是,linux执行任何命令,都会先去/usr/local/sbin,如果没有再去/usr/local/bin下面,如果还没有就去/usr/local/bin,以此类推,如果都没有,就会提示找不到命令。/usr/bin存放一些用户命令,如led(控制LED灯的)。

2024-01-16 10:12:05 1572

原创 正则表达式修饰符 i、g、m、s、U、x、a、D、e 等。

str.match(reg1) // 结果为:["a", index: 0, input: "aaaaaaaa"] var reg2 = /a/g;str.match(reg2) // 结果为:["a", "a", "a", "a", "a", "a", "a", "a"]str.match(preg1) // 结果为:["abc", "abc"] var preg2 = /ab$/gm;str.match(preg2) // 结果为:["ab", "ab"]

2024-01-16 10:06:03 930

原创 设置 SSH 通过密钥登录

但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。今后,当你使用 PuTTY 登录时,可以在左侧的 Connection -> SSH -> Auth 中的 Private key file for authentication: 处选择你的私钥文件,然后即可登录了,过程中只需输入密钥锁码即可。下面来讲解如何在 Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录。

2024-01-15 10:43:44 867

原创 window下执行php命令

我的电脑-》属性-》高级-》环境变量-》系统变量->Path->编辑->查看路径下有没有php目录,如果没有加上。第二,一定要重启cmd。

2024-01-15 10:43:14 599

原创 thinkphp 模板解析

1 初始化方法里给设置了默认模板路径view_path if (empty(this->config['view_path'] = App::$modulePath . 'view' . DS;D:\thinkphp\thinkphp\library\think\Template.php 1 初始化方法定义了缓存路径 $this->config['cache_path'] = TEMP_PATH;// 视图输出字符串内容替换 'view_replace_str' => [],初始化时定义了静态文件路径。

2024-01-11 09:30:46 657

原创 shell命令

在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话 还需要重新定义。用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。3.1 使用echo命令查看单个环境变量。

2024-01-11 09:28:06 342

原创 GeoIP的使用 - PHP版

首先我们需要数据信息,所以先获取一个免费的数据库:http://sjolzy.cn/php/GeoIP/bak/GeoIP.dat.gz ,接着解压得到:GeoIP.dat, 然后就是对数据文件的按需操作,这边范例使用的是PHP。所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。下载 GeoIP 的 PHP 文件geoip.inc,保存为 geoip.inc.php。下载地址 http://pecl.php.net/package/geoip。

2024-01-10 09:32:49 671

原创 php curl 传参文件

有 curl_file_create 和 CURLFile 两种方法,这两种方法是我亲自测试过的好用(我用的php版本是7,而5.5之前是可以用@这个方法,我没有测试过)第一种:curl_file_create方法,具体curl_file_create参数请自行百度。第二种方法:CURLFile 可以介绍前端的file参数,直接上传到第三方地址。第三方地址介绍参数(也是php)直接用_FILES就可以。

2024-01-10 09:30:43 1201

原创 phpstorm配置ftp

1 选择设置ftp2设置自动上传。

2024-01-09 10:43:10 773

原创 【redis】redis的bind配置

我使用的阿里云的服务器。我们从ifconfig可以看出:lo网卡(对应127.0.0.1IP地址):是一个回环地址(Local Loopback),也就是只有本地才能访问到这个回环地址,而其他的计算机也只能访问他们自己的回环地址。bind:是绑定本机的IP地址,(准确的是:本机的网卡对应的IP地址,每一个网卡都有一个IP地址),而不是redis允许来自其他计算机的IP地址。如果我们想限制只有指定的主机可以连接到redis中,我们只能通过防火墙来控制,而不能通过redis中的bind参数来限制。

2024-01-09 10:37:48 1316

H5 js点击放大图片功能,js原生,简单好用

H5 js点击放大图片功能,js原生,简单好用

2023-12-27

这是我整理的中国历史人物的数据库

这是我整理的中国历史人物的数据库,有人物名称,简介,别名,国籍,民族,出生日期,死亡日期,职业等,有需要的可以去下载,历史人物,它指在历史发展中起过重要影响,在历史长河中留下足迹,在历史上有明确的记载,并对人类历史进程的发展起到推动作用的人物,评价历史人物对于研究人类历史的演进具有重要意义。评价历史人物是研究历史的一个重要部分,这个也是社会科学研究的重要内容,考古学佐证。历史简单的概括:以前发生的对社会发展有重要作用的事,历史人物也就不难理解了,当然就是在这些事件中起主导作用的人了。历史人物是构成历史的重要要素,构成历史的要素有很多,如时间、地点、人物、事件。如果单讲事物,在事物里面,人便是非常重要的要素。

2023-12-22

最全的成语数据库(mysql)

mysql格式,方便导入,有近5万的成语,字段有:第一个字母,字数,成语的第一个拼音,典故,出处,近义词,反义词,基本解释,详细解释,百科解释,全拼,关于季节,关于属相。

2022-09-06

ffmpeg一键安装脚本

linux 下一键安装ffmpeg脚本,方便简单,一条命令就可以搞定,我用的是centos7系统。 FFmpeg 是一套处理多媒体文件的软件库。凭借这些强大的库,FFmpeg 能够转换格式、推流以及处理音频和视频文件。许多 Linux 的前端应用都使用 FFmpeg 作为后端支持,所以这些应用对 FFmpeg 的依赖度非常高。举个例子,录屏软件可能会用到 FFmpeg 将录屏转换为 gif 动图。 FFmpeg 的核心是命令行实用程序,既可在命令行上使用,也可以经由任何程序语言调用。比如,你可以在 Shell 程序或 python 脚本中使用 FFmpeg。

2022-09-05

MySQL的优化多种方法(至少15条)

优化mysql数据库的方法:建立Index索引,少用select语句,开启查询缓存,选择适合的存储引擎,避免在where子句中使用or来连接以及避免大数据量返回等。 对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。所以mysql数据库的优化操作大家都要有所了解,本文就主要总结了mysql数据库中常见的优化方法

2022-08-31

mysql优化有哪些技巧?

MYSQL的优化,是每一个程序员在做数据查询处理的时候,经常有的步骤 那么SQL的优化有很多种,它可以是在硬件方面的,可以是在代码层面的,可以是在数据库方面的优化。详细整理一下MYSQL的方案,

2022-08-31

诗词诗人数据库,mysql文件

诗词诗人数据库 mysql文件 有13136个诗人 305131个诗词,还有诗词赏析和注解等,需要的同学可以下载 可以搜索微信诗词成语大全看数据效果

2022-04-15

tp5整合讯飞文字转语音

tp5整合讯飞文字转语音 ,已经封装好,下载即用

2022-03-11

uniapp微信h5授权获取用户openId的方法和步骤,用于用户登录和注册

微信h5授权获取用户openId的方法和步骤,用于用户登录和注册,代码已经封装好,下载就能用

2022-01-26

uniapp 小程序授权登录,获取用户头像昵称等信息

uniapp 小程序授权登录,获取用户头像昵称等信息,代码已经封装好,下载就能用

2022-01-26

php curl模仿form表单提交图片或文件

php curl模仿form表单提交图片或文件 用的tp5做的例子

2022-01-13

12种炫酷CSS3图片切换过渡效果

12种炫酷CSS3图片切换过渡效果

2021-12-29

css轮播图片百叶窗切换

css轮播图片百叶窗切换

2021-12-29

纯CSS3做的百叶窗图片切换 四种切换类型

纯CSS3做的百叶窗图片切换 四种切换类型

2021-12-29

jquery获取checkbox选中的值

jquery获取checkbox选中的值,包括全选 取消全选 反选 选中奇数行 获取选中的值

2021-12-16

jquery获取checkbox选中的值

jquery获取checkbox选中的值,包括全选 取消全选 反选 选中奇数行 获取选中的值

2021-12-16

使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法

使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法,这里这是一个demo,大家可以根据这个demo安装自己的需求修改

2021-12-16

uniapp 微信H5分享 下载就能用

针对uniapp 微信H5分享,我已经封装好,非常方便好用,有需要的朋友可以去下载,更多详细使用内容可以看我的博客https://blog.csdn.net/nihao123456789222/article/details/121954495

2021-12-15

微信分享 php后端签名验证 下载即用

非常方便的H5微信分享 php后端签名验证 已封装完成,下载后配置一下公众号id和secret就能用,很方便

2021-12-15

uniapp jsapi 微信支付

uni-app框架下,开发H5,集成微信JS API支付,调用之前需要安装jweixin-module。代码已经封装好,下载就能用

2021-12-15

获取微信token,下载即用

tp5获取微信token,封装的对象,下载即可以用

2021-12-15

tp5 微信支付 JSAPI支付接口 下载即用

封装好的微信JSAPI支付接口 下载放到项目里就能用

2021-12-15

charles 抓包工具详细设置

charles 抓包工具详细设置 适合新手学习抓包工具

2021-12-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除