自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (2)
  • 收藏
  • 关注

原创 PHP处理目录/文件的函数

一、判断普通文件和目录 1.is_file()//判断给定文件名是否为一个正常的文件 2.is_dir()//判断给定文件名是否是一个目录二、文件的属性 1.file_exists()//检查文件或目录是否存在 2.filesize()//取得普通文件大小 3.is_readable()//判断给定文件名是否可读 4.is_writable()//判断给定的文件名是否可写 5.filectime()//获取文件的创建时间 6.filemtim...

2021-05-04 09:23:58 147

原创 MVC编程思想的理解

MVC分为model模型层、view视图层、contro控制层视图层对控制层发送用户请求,控制层调用模型层里的方法,模型层返回相应的结果数据给控制层,控制层再返回数据给视图层。

2021-04-28 06:23:59 301

原创 php获取本年、本月、本周时间戳和日期格式

时间戳格式//获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y')); $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; //获取昨日起始时间戳和结束时间戳 $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y')); $endYesterday=mktime(

2020-10-23 18:30:42 207

原创 解决PHP采集乱码问题

php 抓取页面乱码在抓取页面的时候出现类似�������这样乱码解决方法如下1、转换编码str=mbconvertencoding(str, “utf-8”, “GBK”);2、数据经过gzip压缩curl获取数据的时候设置添加下面的选项:curl_setopt($ch, CURLOPT_ENCODING, 'gzip');使用file_get_contents函数需要安装zlib库$data = file_get_contents("compress.zlib..

2020-08-07 15:09:15 332

原创 apache php mysql 默认安装目录

以下是默认路径:apache:1.用RPM包安装安装路径: /etc/httpdapache配置文件:/etc/httpd/conf/httpd.confApache模块路径:/usr/sbin/apachectlweb目录:/var/www/html2.如果采用源代码安装/usr/local/apache2php:1.RPM包安装安装路径:/etc/php的配置文件:/etc/php.ini2.源代码安装安装路径:/usr/local/libphp配置文件: /usr/l

2020-08-07 15:04:20 109

原创 php追加和修改文件中的json数据

php修改json数据的方法:首先从文件中读取数据到PHP变量;然后把JSON字符串转成PHP数组;最后通过“file_put_contents("text.json",$json_strings);”方法修改json数据即可。// 追加写入用户名下文件$code="001";//动态数据 $json_string = file_get_contents("text.json");// 从文件中读取数据到PHP变量 $data = json_decode($json_

2020-08-07 14:59:37 1779

转载 Mac下Nginx设置开机自启

步骤1.创建启动文件夹mkdir -p ~/Library/LaunchAgents2.将安装好的nginx复制到创建的文件夹中cp /usr/local/Cellar/nginx/nginx版本/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/3.设置启动进程并加载启动launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist4.修..

2020-08-02 20:24:33 915 1

转载 Redis存放日志及热门文章

使用Redis的列表数据类型可以实现多种数据结构,可以将它看做php中的索引数组。它可以实现栈、队列、消息队列的多种数据结构。今天,和大家介绍下,如何使用redis来保存系统日志及热门文章列表。存放日志大家知道,nginx日志默认不会自动切割,它会一直存放一个文件中,一直追加写入,需要我们自己做切割日志的操作。除了nginx外,很多地方都有用到日志。出了问题后,日志是我们是我们查找线索的主要途径之一。我们现在打算将系统的日志写入到redis中,每天的日志都记录到一个list列表中,可以防

2020-07-21 10:17:33 776

原创 git不跟踪修改权限的文件设置

git中可以加入忽略文件权限的配置,具体如下:$gitconfigcore.filemodefalse // 当前版本库$ git config --global core.fileMode false // 所有版本库

2020-07-07 16:58:19 1304

转载 vue中的钩子函数

在开发一般的业务来说,不需要知道 Vue 中钩子函数过多的执行细节。但是如果你想写出足够稳健的代码,或者想开发一些通用库,那么就少不了要深入了解各种钩子的执行时机了。组件生命周期 hook 在组件树中的调用时机先直接看一个例子:import Vue from 'vue';Vue.component('Test', { props: { name: String }, template: `<div class="test">{{ name }}<.

2020-07-06 15:57:49 1163

转载 vue事件修饰符

先给大家画一个示意图理解一下冒泡和捕获(1).stop修饰符请看如下代码<template> <div class="about"> <div @click="test1"> <div @click="test2"> 测试 </div> </div> </div></template><script>expor.

2020-07-06 13:18:36 86

原创 vue修改模板语法

1、在实例中增加delimiters2.0后只能在实例中修改了,1.0还可以全局修改newVue({ delimiters:['${','}'] })//分隔符变成了ES6模板字符串的风格

2020-07-06 11:09:20 455

原创 链表

介绍链表是有序的列表,但是它在内存中是存储如下的:链表以节点的方式,链式存储的每个节点包含data域(存放数据)和next域(指向下一个节点)如图:发现链表的各个节点不一定是连续存储的链表分带头节点的链表和没有带头节点的链表...

2020-06-19 18:26:11 78

原创 队列

介绍队列是一个有序列表,可以用数组或链表来实现遵循先入先出的原则;即:先存入队列的数据,要先取出。数组模拟队列队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列的声明如下图,其中maxSize是该队列的最大容量因为队列的输出输入是分别从前后端来处理,因此需要两个变量front及rear分别记录队列前后端的下标,front会随着数据输出而改变,rear会随着数据输入改变,如下图所示向队列中添加数据的时候,要对比当前队列总数是否已满问题:数组只能用一次,没有达到复用效果

2020-06-15 19:21:09 104

原创 稀疏数组

基本介绍当一个数组中大部分元素为0或者为同一值时,可以使用稀疏数组来保存该数组稀疏数组的处理方法:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模二位数组转稀疏数组的思路:遍历原始的二位数组,得到有效数据的个数sum根据sum就可以创建稀疏数组sparseArr 有sum+1行,有3列将二位数组的有效数据存入到稀疏数组稀疏数组转原始二位数组思路:读取稀疏数组第一行获取二维数组的行和列之后创建二维数组.

2020-06-15 17:32:28 68

原创 算法中的数据结构

分两大类:线性结构和非线性结构线性结构线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息线性结构常见的有:数组、队列、链表和栈非线性结构非线性结构包括:二维数组、多维数组、广义表、树结构、图结构...

2020-06-14 17:19:36 267

原创 dockerfile---docker-php-source/docker-php-ext-install/docker-php-enable/docker-configure解释

docker中PHP容器安装扩展的方式有1、通过pecl方式安装2、通过PHP容器中自带的几个特殊命令来安装,这些特殊命令可以在DockerFile中的RUN命令中进行使用PHP中安装扩展有几个特殊的命令1、docker-php-source2、docker-php-ext-install3、docker-php-ext-enable4、docker-php-ext-configuredocker-php-source:1、docker-php-source extrac

2020-06-08 19:13:08 2358

转载 docker容器内开启crontab

问题:docker容器(centos7)安装cron后,启动crond进程后,不能正常工作。解决:执行:sed -i -e '/pam_loginuid.so/s/^/#/' /etc/pam.d/crond将session required pam_loginuid.so这行注释即可。原因:cron session时需要pam_loginuid.so模块,该模块开启AUDIT,但docker为了安全,移除了CAP_AUDIT_WRITE和CAP_AUDIT_CONTRO

2020-06-06 22:11:27 2556

转载 Supervisor------使用详解

一、supervisor简介Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervis

2020-06-06 22:04:40 150

翻译 docker nginx官方文档翻译

快速参考维护者:NGINX Docker维护者哪里可以得到帮助:Docker社区论坛、Docker社区松弛或堆栈溢出什么是nginx?Nginx(发音为“engine-x”)是用于HTTP、HTTPS、SMTP、POP3和IMAP协议的开源反向代理服务器,以及负载平衡器、HTTP缓存和web服务器(源服务器)。nginx项目一开始就非常关注高并发性、高性能和低内存使用。它是根据类似于BSD的2条款授权的,它运行在Linux、BSD变体、Mac OS X、Solaris、AIX、HP-UX以及

2020-06-05 16:35:49 385

翻译 docker PHP官方文档翻译

快速参考维护者:Docker社区哪里可以得到帮助:Docker社区论坛、Docker社区松弛或堆栈溢出支持的标记和相应的Dockerfile链接注意:此图像的描述长于集线器长度限制25000,因此已修剪“支持的标记”列表以进行补偿。完整的名单可以在https://github.com/docker-library/docs/tree/master/php/README.md。更多信息请参见docker/hub beta feedback#238。快速参考(续)提交问题的位置:https

2020-06-05 16:03:50 187

原创 hash算法简介

哈希是一个系列的加密算法,各个不同的哈希算法虽然加密强度不同,但是有以下几个共同点:① 不管输入数据的数据量有多大,输入同一个哈希算法,得到的加密结果长度固定;② 哈希算法确定,输入数据确定,输出的数据就能保证不变③ 哈希算法确定,输入数据有变化,输出数据就一定有变化,而且通常变化很大④ 哈希算法不可逆包括 MD5()、SHA1()、CRC32()...

2020-06-04 09:37:33 133

原创 thinkPHP6 报错Driver [Think] not supported.

执行:composer require topthink/think-view

2020-05-30 11:39:50 396

原创 nginx 配置支持伪静态

location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php?s=/$1 last; } }

2020-05-29 16:13:09 474

原创 PHP序列化和反序列化介绍

序列化:serialize()用户序列化对象或数组,返回一个字符串,如下:<?php$sites = array('t1', 'tt2', 'ttt3');$serialized_data = serialize($sites);echo $serialized_data;?>输出:a:3:{i:0;s:2:"t1";i:1;s:3:"tt2";i:2;s:4:"ttt3";}各个字符含义-----> o 表示对象;a 表示数组;s 表示字符;i 表示数字;

2020-05-29 15:42:20 159

原创 Python常用命令 天天敲一遍

print():输出print(100)input():输入name = input("请输如名字:")print(name)输出多行字符串print('''shenlichuang''')

2020-05-29 10:17:45 179

原创 编码介绍

ASCII编码:由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码;比如大写字母A的编码是65,小写字母z的编码是122。GB2312编码:处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以中国制定了GB2312编码,用来把中文编进去。(日本把日文编到Shift_JIS里;韩国把韩文编到Euc-kr里)Unicode编码:各国有各国的标准,不可避免就会有冲突,结果在多

2020-05-29 10:01:22 148

原创 PHP发送邮件代码和注意事项

发送方以QQ邮箱为例:第一步:点击设置,并选择账户第二步:然后在帐户下,找到如下所示的开启服务部分第三步:开启服务中,前两个选项均可实现邮件发送服务。点击开启,会出现验证提示。确认验证,成功开启POP3/SMTP服务后,就会出现以下授权码。那么此授权码就可以用于PHP实现邮件发送的开发方法中。注:每次开启生成的授权码都会不同,安全性较高。实现发送邮件的php代码如下:<?phprequire_once 'Email/sendMail/PHPMailer.class.p.

2020-05-27 15:08:47 438

原创 mysql 视图 详细介绍

含义:虚拟表,和普通的表一样使用;是mysql 5.1 版本出现的新特性,是通过表动态生成的数据,只保存了SQL逻辑,不保存查询结果好处:① 重用SQL语句② 简化复杂的SQL操作,不必知道它的查询细节③ 保护数据,提高安全性示例://查询姓张的学生名和专业名//使用视图前select stuName,majorNamefrom stuinfo sinner join major m on s.majorid=m.idwhere s.stuName like '张%

2020-05-26 16:19:59 147

原创 mysql 隔离级别和对应隔离级别的作用

问题:对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,如果没有采取必要的隔离限制,就会导致各种并发问题,如下:1、脏读:对于两个事务T1和T2,T1读取了已经被T2更新但是没有提交的字段,之后,若T2回滚,T1读取的数据就是临时且无效的数据2、不可重复读:对于两个事务T1和T2,T1读取了一个字段,然后T2更新了该字段,之后,T1再次读取同一个字段,值就不同了3、幻读:对于两个事务T1和T2,T1从表中读取了一个字段,然后T2在该表中插入了一些新的行,之后,如果T1再次读取同一个

2020-05-25 21:06:02 382

原创 mysql 事务简介

tclTransaction Controller Language 事务控制语言事务的acid特性:a:原子性:一个事务不可分割,要么都执行,要么都不执行c:一致性:一个事务执行,会使数据从一个状态切换到另一个一致状态i:隔离性:一个事务的执行不受其他事务的干扰d:持久性:一个事务一旦提交,则会永久的改变数据库的数据事务的创建:①隐式事务:事务没有明显的开启和结束的标记比如:insert、update、delete语句,虽没有明显事务开启和结束的标记,但都是..

2020-05-25 20:22:32 78

原创 DockerFile 简介解析

一、是什么1、DOckerFile是用来构建docker镜像的构建文件,是由一系列命令和参数构成的脚本2、构建三步骤:编写DockerFile文件---docker build---docker run二、DockerFile构建过程解析1、DockerFile内容基础知识① 每条保留字指令都必须为大写字母并且后面要跟至少一个参数② 指令按照从上到下顺序执行③ # 表示注释④ 每条指令都会去创建一个新的镜像层,并对镜像进行提交2、docker执行DockerFil..

2020-05-25 11:39:56 118

原创 mysql 字段常见约束

含义:一种限制,用于限制表中的数据,为了保证表中数据的准确性和可靠性分类---六大约束:not null:非空,用于保证该字段的值不能为空;比如用户名字段、学号字段等必填项;default:默认值,用于保证该字段有默认值;比如头像等非必填项,但又需要有个值的字段;primary key:主键,用于保证该字段的值具有唯一性并且非空;比如学号,员工编号等;unique:唯一,用于保证该字段的值具有唯一性但可以为空;比如座位号,可以不写,但是写了就不能重复;check:检查约束【my.

2020-05-23 16:40:58 1332

原创 php时间常用函数

1、date('Y-m-d H:i:s',时间戳)把时间戳格式化为更易懂的时间格式。 Y:表示年,四位数。m:表示月份01-12;d表示天01-31; H表示小时00-24;i表示分钟00-60;s表示秒00-60;2、date()没有时间戳参数的话,获取的是服务器的当前时间,如果获得的时间不对,可能是因为服务器位于其他国家或者被设置为不同的时区。如果要获得具体位置的准确时间,需要设置时区。 date_default_timezone_set('As...

2020-05-22 12:48:18 319

原创 mysql 常用数据类型简介

原则:所选择的类型越简单越好,能保存的数值类型越小越好;整型特点:1、如果不设置无符号还是有符号,默认有符号,如果需要设置无符号,需要用unsigned约束2、如果插入数值超出范围,会报out of rang警告,但是会插入范围的临界值3、如果不设置长度,会有默认长度,长度代表了显示的最大宽度,如果不够,会用0在左边填充,但必须搭配zerofill使用;小数特点:浮点数:float(M,D);double(M,D)定点数:dec(M,D)1、M代表整数部位+小数部..

2020-05-22 03:11:39 72

原创 mysql 库和表的管理 DDL语言

一、库的管理创建库create database if not exists books;//一般创建库的都这么写(如果存在先删除,之后再创建)drop database if exists books;create database books;更改库更改字符集://更改库的字符集为gbkalter database user character set gbk;删除库drop database if exists user;二、表的管理创建表CRE

2020-05-22 01:53:08 105

原创 mysql DML语言 增删改

一、插入方式一(推荐):1、列数和值的个数必须一致,且字段类型设置not null的字段必须插入值2、没有设置not null的字段插入值的方式(比如字段address是可以为null的)方式①:在字段中写上address字段,在值中写nullinsert into user(id,name,address) values(1,'xiaowang',null);方式②:即在字段中不写address字段,在值中也不写insert into user(id,name) valu

2020-05-22 00:45:25 73

原创 MySQL 联合查询 union的使用

union:将多条语句的查询结果合并成一条结果示例:select id,name from user1unionselect id,name from user2;应用场景:查询的结果来自多张表,且多个表没有直接的连接关系,但查询的信息一致时,用union特点:1、要求多条语句查询的列数一致2、要求多条语句查询的列的类型和顺序一致(不一致不报错,但没有意义)3、union关键字默认去重(当所有字段的值一样时),加all(union all)可以包含重复项...

2020-05-21 23:40:52 307

原创 MySQL经典查询

1、用户表user有用户分类标签字段type,查出每个标签下男女sex各多少人方式① 通过子查询的方式(数据更加简洁明了易懂)select type,(select count(*) from user where sex=1 and type=u.type) 男,(select count(*) from user where sex=2 and type=u.type) 女 from user u group by type;方式②(数据不易懂)select count

2020-05-21 22:14:45 79

原创 MySQL子查询 各种使用场景

概念子查询含义:出现在其他语句中的select语句,称为子查询或内查询;外部的查询语句称为主查询或外查询;分类:按子查询出现的位置分:select后面:仅仅支持标量子查询from后面:支持表子查询where或having后面:支持标量子查询(单行)、列子查询(多行)、行子查询exists后面(也被称为’相关子查询‘):支持表子查询按结果集的行数不同分:标量子查询(结果集为一行一列);列子查询(结果集为一列多行);行子查询(结果集为一行多列);表子查

2020-05-21 06:29:09 932

PHPExcel-1.8.zip

PHP将数据导出到excel和excel数据导入

2020-05-27

sendMail.zip

PHP实现发送邮件的PHP发送邮件类,不同类型的邮箱发送邮件的方式也是不同的。 下面我们就先给大家举例介绍qq邮箱开启发送邮件服务的方法。 首先我们登录qq邮箱,打开设置,选择帐户。

2020-05-27

空空如也

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

TA关注的人

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