- 博客(114)
- 收藏
- 关注
转载 PHP 转义
转义 \x00 \n \r 空格 \ ' " \x1a,针对多字节字符处理很有效。去掉字符串中任何 HTML标记和PHP标记,包括标记封堵之间的内容。被改的字符包括单引号 (')、双引号(")、反斜线 backslash (\) 以及空字符NULL。去掉字符串中的反斜线字符。若是连续二个反斜线,则去掉一个,留下一个。[ ^ ] ( $ )等字符的前面加入反斜线 "\" 符号。除上面htmlspecialchars字符外,还包括双字节字符显示成编码等。对已编码的 URL 字符串进行解码。
2024-08-02 10:54:28
14
原创 thinkphp操作mongo数据的三种方法
'hostname' => '10.10.10.10', // MongoDB服务器地址。'hostport' => 2017, // MongoDB服务器端口。'database' => 'chatname', // 数据库名称。后面接着就可以任意使用Connection各类方法。后面接着就可以任意使用Collection各类方法。使用MongoDB PHP驱动程序,方法三。后面接着就可以任意使用db下的增删改查。使用tp中的db类,方法二。使用tp中的扩展,方法一。
2023-12-29 15:15:08
1250
原创 laravel定时任务配置手册
分配多种调度计划:结合其他一些特定条件,我们可以生成在一周中特定时间运行的任务。任务调度在 app/Console/Kernel.php 的 schedule 方法中进行定义;结合其他一些特定条件,我们可以生成在一周中特定时间运行的任务。crontab -e -u www 是以www身份执行定时任务。执行crontab -e 在里面添加下面的cron入口。crontab -e 是以root身份执行定时任务。
2023-12-07 16:12:16
744
转载 Linux下的tar压缩解压缩命令详解
tar这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出下面的参数-f是必须的-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。命令组合使用:# tar
2022-02-12 17:21:09
275
转载 linux之查找包含指定内容(字符串)的文件
文件内容包含指定字符串#find . | xargs grep string#查找当前目录下文件内容包含字符串string的文件为什么要这样写,因为管道命令符是把上一部的结果传递给下一步来处理,在 find . | grep string中虽然看似和find . | xargs grep string差不多,但是实际上还是有区别的。应为find .得到的结果是一串文件名集合,如果直接传递给grep的话,grep会把这些文件名看作一些无意义的字符串来处理。但是传递给xargs,他会把他当作一个有意义的
2022-02-12 17:12:02
4929
转载 ThinkPHP中的异常处理
AOP 编程思想,即面向切面编程思想,通俗的说,就是用统一的方式处理问题,而不是用相同的方式分别处理多个问题,对于异常处理来说,就是定义统一的异常信息,用统一的方式处理大致思路自定义异常处理类,重写默认异常处理类的 render 方法,然后配置使用自定义异常处理类处理所有异常代码实现在根目录下创建目录 exception,在其下创建ExceptionHandle.php,此类要继承 handle 类class BaseException extends Handlecl
2021-08-03 09:58:30
711
转载 PHP及thinkphp中的错误和异常处理
对于任何一种语言来说,异常的存在是具备共性的,所以学习一门语言理解异常机制是必不可少的.什么是错误当PHP语言遇到异常的情况(比如数据库连接不上或者函数参数传递错误),则会报出一些错误,错误可以分为多种类型,除了E_ERROR和E_CORE_ERROR错误,其它错误不会终止程序运行.PHP让人觉得简单的原因就在于程序不会频繁的报错,给人一种编写流畅和方便的错觉.也正因为这个原因PHP程序的严谨性和准确性差了不少,比如mysql_fetch_array查询遇到网络错误返回FALSE的时候(程序没
2021-08-03 09:17:25
2560
转载 SQL 之 HAVING
HAVING 子句在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。HAVING 子句可以让我们筛选分组后的各组数据。往往与 GROUP BY 配合使用,为聚合操作指定条件,WHERE 子句只能指定行的条件,而不能指定组的条件,因此就有了 HAVING 子句,它用来指定组的条件。我们来看个具体示例就清楚了。SQL HAVING 实例我们拥有下面这个 "Orders" 表:现在,我们希望查找订单总金额少于 2000 的客户。我们使用如下 SQ.
2021-08-02 09:47:07
895
转载 Linux 定时任务crontab认识总结
crontab命令概念crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。语法:crontab(选项)(参数)选项:e:编辑该用户的计时器设置;-l:列出该用户的计时器设置;-r:删除该用户的计时器设置;-u<用户名称>:指定要设定计时器的用户名称。参数:crontab文件:指定包含待执行任务的crontab文件。扩展:Linux下的任务调度分为两类:系统任务调度和用户任务调度。
2021-06-25 10:06:30
103
原创 vue中组件之间的通信
vue组件化开发当中,经常需要涉及组件之间的通讯,常见的组件通讯,有以下几种: 1). `props` ★★(使用的频率最高,一般常用在简单的数据传递的场景) 2). `$emit/$on ` ★★ 事件总线 3). `vuex` ★★★ 4).`$parent/$children` 5). `$attrs/$listeners` 6). `provide/inject` ★★★常见的使用场景可以分为以下三大类:props方法如下:父组件给子组件传值方法;父
2021-01-23 10:01:48
137
原创 thinkphp中的验证验证功能
在thinkphp框架当中推荐使用验证器进行数据验证(也支持使用\think\Validate类进行独立验证)在和controller层 创建validate模块即可创建验证模块:验证器定义为具体的验证场景或者数据表定义好验证器类,直接调用验证类的check方法即可完成验证,下面是一个例子:我们定义一个\app\index\validate\User验证器类用于User的验证。namespace app\index\validate;use think\Validate;cl.
2020-11-04 09:30:03
1008
转载 javascrpt总结常见的window.location问题
1,window.location.replace和window.location.href区别location.replace(newURL),replace() 方法可用一个新文档取代当前文档。有3个页面 a,b,c如果当前页面是c页面,并且c页面是这样跳转过来的:a->b->c1:b->c 是通过window.location.replace("..xx/c") 此时b页面的url会被c页面代替,并且点击后退按钮时会回退到a页面(最开始的页面)2...
2020-11-03 10:38:27
845
转载 javascrpt的一些常用判断
一,判断是否存在于数组当中1,方法一:array.indexOf(item,start):元素在数组中的位置,如果没与搜索到则返回 -1。2,方法二:avaScript Array filter() 方法有类似的检索功能: filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。 注意:filter() 不会对空数组进行检测。 注意:filter() 不会改变原始数组。var ages = [32, 33, 16, 40];fu..
2020-11-03 10:01:41
204
原创 关于npm等前端工程化管理的学习
现在的前端都是使用工程化的管理,所以有必要花点时间来学习一下npm,相关的东西......先来说一下什么是npm ,引用别人的文章介绍:程序员自古以来就有社区文化:社区的意思是:拥有共同职业或兴趣的人们,自发组织在一起,通过分享信息和资源进行合作。虚拟社区的参与者经常会在线讨论相关话题,或访问某些网站。前端程序员也有社区,世界上最大的前端社区应该就是 GitHub 了。前端通过 GitHub 来分享源代码(线上代码仓库) 讨论问题(Issue 列表) 收集学习资源和常去的网站(比如我
2020-11-02 09:56:08
267
原创 javascript,jquery获取子节点
每个网页都是一个dom树,网页中所有的内容都是这个树上的一个节点。JavaScript的工作就是操作这些节点,对节点进行查增删改操作,或是给节点绑定事件。以getElementBy开头的方法,可以根据具体的属性获取元素的后代节点。这些方法不只会获取子节点,他也会获取到所有符合条件的后代节点。方法 依据属性 兼容性 其他 getElementById id 兼容性好,推荐使用 如果存在多个id相同的元素,只会返回第一个 get
2020-11-02 09:47:02
3691
原创 php中的全局变量区别与javascript中的全局变量
在最近的项目当中使用的是phalapi框架,但是使用到了redis 发布者订阅者的模式,需要长时间开启监听的服务,故而服务那块实现的是原生的php,单项目框架当中都提倡将一些常用的配置提取到对应的地方,方便多个开发环境进行切换,因此使用到//redis配置defined('CONFIG_ROOT') || define('CONFIG_ROOT', dirname(__FILE__) . '/..');$resConfig=require_once CONFIG_ROOT . '/../config
2020-10-28 10:24:43
178
转载 PM2 常用命令总结
在最近的项目当中需要监听redis的一个过期事件,需要开启一个服务,于是用到pm2,现将经常使用的命令总结如下:m2常用命令记录$ pm2 start app.js # 启动app.js应用程序$ pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例# 4个应用程序会自动进行负载均衡$ pm2 start app.js --name="api" # 启动应用程序并命名为 "api"$ pm2 start app.j...
2020-10-27 15:08:01
279
转载 php中的无限极菜单的梳理(常用总结方法)
1,实现无极限的菜单常用的方法是在数据库存储的时候增加一个PID字段用来区别自己所属的分类距离说明如下:$array = array(array('id' => 1, 'pid' => 0, 'name' => '河北省'),array('id' => 2, 'pid' => 0, 'name' => '北京市'),array('id' => 3, 'pid' => 1, 'name' => '邯郸市'),array('id' =
2020-10-27 09:34:34
506
原创 thinkphp中的请求路径,图片路径问题
1,在thinkphp中的view层里面引入的js文件中只用url 方法动态获取当前的control的路径的时候无效,需要在html的结构当中定义,在js、文件中再使用。2,在view层经常需要引用对应的图片地址1绝对路径<imgsrc="/myweb/Tpl/default/Public/iamges/logo.png"/>2设定head中的base<head><basehref="http://localhost/myweb/Tpl/default...
2020-10-27 09:23:31
1335
原创 thinkphp中文按照拼音进行排序
1,数据库中的查询方法原生代码按照汉字排序是这样的:select * from `project` order by convert(`name` using gb2312) asc;M(‘Project’)->order(‘convert(name using gb2312) asc’)->select();2,php实现<?php$str = "我们可以在浏览器中看到,当鼠标移到元素上时,元素开始向右移动,开始比较慢,之后则比较快,移开时按原曲线回到原点。...
2020-10-27 09:16:11
612
原创 总结工作当中的正则表达式php
1,在字符串中替换找到的第一个比如说这个字符串有很多个asd,有连续几个的,也有只是一个的,但是我想只保留第一个asd,后面的asd全部删掉,该怎么做?(在不影响其他字符的基础上)可以采取以下解决方法:$s = 'ssssssssgsdfasdasdasdasdjlkjhkjhalkasdasdjsdkajshdasdaklsjdasdhkjashgdaklsh';$t = 'ssssssssgsdfasdjlkjhkjhalkjsdkajshdaklsjdhkjashgdaklsh';
2020-10-27 09:03:58
116
转载 PHP字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、切割成数组等)
一、字符串替换str_replace("iwind", "kiki", "i love iwind, iwind said");将输出 "i love kiki, kiki said"str_replace(find,replace,string,count)参数 描述find 必需。规定要查找的值。replace 必需。规定替换 find 中的值的值。string 必需。规定被搜索的字符串。count 可选。一个变量,对替换数进行计数。二、字符串删除方法一$st...
2020-10-27 08:59:36
164
原创 php工作当中常用小技巧总结
1,拆分字符串,并且获取最后一个常见的做法有以下三种PHP explode 切割字串 快速取得最後一個值以往常見的寫法,都會是先計算陣列大小,然後直接抓最後一個值,如下範例: <?php $tmp = explode(',', '1,2,3'); $last = $tmp[count($tmp) - 1]; echo $last; ?> 不過既然是陣列,還有下述兩種作法可以參考看看:取得最後一個值View Raw Code?
2020-10-27 08:22:34
148
原创 MutationObserver Html5新属性监听Dom的变化
在最近的项目当中有一个业务是前端监听一个数值的变化 从而给用户进行页面上的提醒(在浏览器的标签处动态跳动当前的信息提醒),在老版本的html可能感觉这个是一个无从下手的需求,需要监听页面的一个节点属性的状态,在之前的老版本html中是没有这个属性了,先将使用这个属性的过程总结如下:Mutation Observer介绍说明Mutation Observer(变动观察器)是监视DOM变动的接口。当DOM对象树发生任何变动时,Mutation Observer会得到通知可以理解为,当D...
2020-10-21 10:51:41
1819
原创 关于php项目部署到腾讯云服务器的部署流程
最近工作项目中经常需要使用将项目部署到腾讯云服务器上,先将大致的流程总结如下:1,安装第三方源,因为默认的环境中没有nginx等yum install epel-release2,安装nginx和php等等yum install nginx php-fpm3,配置用户chown -R apache:apache /usr/share/nginx/html如果apache用户没有启用,需要先启用usermod -s /bin/bash apache4,配置nginx..
2020-10-12 09:57:56
1997
1
转载 php中的类型转换总结如下:
工作中对数据类型的转换使用特别的频繁,先将经常使用的方法总结如下:转换方法类型:1、强制转换:(int) (bool) (float) (string) (array) (object)2、3个具体类型的转换函数,intval()、floatval()、strval()3、通用类型转换函数settype(mixed var,string type)强制转换1、php强制装换成整形的两个词?解答:(int)、(integer):转换成整形2、php强制装换成浮点形的三...
2020-09-28 10:41:29
142
原创 php本地项目部署到服务器上之后排除错误处理方法
待项目上线后我们经常把相关debug,display_errors错误提示等关掉。谁还难免不犯个错呢?这样能防止非致命性报错下,导致项目路径、数据库等信息泄漏,如果碰到问题该从什么地方开始排除呢,我自己整理的思路如下:cd /etc/nginx/vi nginx.conf 可以查看nginx的错误日志tailf /var/log/nginx/access.log查完此处日志后 可以再查看tailf /var/opt/remi/php73/log/php-fpm/www-error.log..
2020-09-28 10:31:49
224
原创 thinkphp中的缓存使用cache 与Redis
最近项目中经常需要使用到redis的操作,现将经常使用操作redis的方法总结如下:首先是redis中的配置<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +-------------------------------------------------------------------
2020-09-27 08:41:09
4257
原创 Redis的常用操作(命令行)
最近工作当中经常需要使用到redis,先将经常使用的命令总结如下:linux上安装,服务端,客户端yum install redis-server*yum install redis*重启,开启服务等systemctl restart redis.service查找修改配置文件find . -name 'redis' 查看redis的配置文件vim /etc/redis.conf 使用yum 安装的redis的配置文件地方查看redis的服务ps aux|gr...
2020-09-18 09:50:53
339
原创 前端跨域使用jsonp处理方法示例
CORS,又称跨域资源共享,英文全称Cross-Origin Resource Sharing假设我们想使用Ajax从a.com的页面上向b.com的页面上要点数据,通常情况由于同源策略,这种请求是不允许的,浏览器也会返回“源不匹配”的错误,所以就有了“跨域”这个说法。但是我们也有解决办法,我们可以再b.com的页面header信息中增加一行代码:处理方法一: 1 header("Access-Control-Allow-Origin: *"); 如果需要
2020-08-25 09:33:39
932
转载 git修改远程仓库地址
1、直接修改远程仓库地址查看远程仓库地址git remote -v修改远程仓库地址git remote set-url origin [url]2、先删除再修改地址git remote rm origingit remote add origin [url]3、直接修改配置文件进入项目根目录vim .git/config找到[remote “origin”]下的url,改成新地址即可4、通过第三方git客户端修改以Sourc...
2020-08-13 09:23:17
23973
原创 layui jquery 常用表单处理方法
1,获取元素,通过name获取元素:var boxes = $("input[name='_checkbox']:checked");2,设置属性不成功,(在使用jquery动态设置layui的checkbox元素的选中状态时始终只能取消选中,却不能重新勾选,点击勾选则没有问题,代码如下),使用prop替换prop即可if (value == "true") {//$id.attr("checked", "checked");$id.prop("checked", true); ..
2020-07-15 14:39:14
561
原创 如何使用微信小程序的自定义组件
lifetimes: { // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, moved: function () { }, detached: function () { }, }, // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attache...
2020-04-07 22:01:34
280
转载 json.stringify()的妙用,json.stringify()与json.parse()的区别
工作当中经常使用到json.stringify,json.parse,现将这两个的使用方法进行一个整理:JSON.parse()方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。提供可选的reviver函数用以在返回之前对所得到的对象执行变换(操作)。const json = '{"result":true, "count":42}';const obj ...
2020-03-30 09:45:17
438
转载 mac上brew安装Apache+MySQL+PHP7(学习经验总结)
最近更换电脑了,换成苹果mac,尝试自己配置php的可开发环境,发现问题简直是一大堆,太多关于环境部署的知识点了的,真是学无止境......,现将我的一顿胡乱操作记录如下:因为苹果电脑自带ruby,可以使用ruby安装brew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/instal...
2020-03-28 16:52:27
842
转载 mysql启动之 ERROR! The server quit without updating PID file (/usr/local/mysql/data/gujingdeMacBook-Pro
这篇文章提到了在mac上安装mysql安装不成功,可以采取的一列些的措施排查问题,知识点很多额~启动mysql时,出现如下错误:ERROR! The server quit without updating PID file (/usr/local/mysql/data/gujingdeMacBook-Pro.local.pid).可能的解决方式:1、可能是/usr/local/mysq...
2020-03-28 08:37:07
7438
1
原创 微信小程序中的wxs 使用总结
目前接触到的wxs有两种方式:1,单独的文件形式,引入到页面的结构当中wxml,引入方式可以对应的页面功能代码写入对应的wxs文件当中,通过引用的方式应用到页面当中标签引入<wxs src="./../handleSrc.wxs" module="handleSrc" /> require引入 var handleSrc = require("./handleSrc.wx...
2020-03-25 16:45:01
7371
原创 vue 学习中坑(读取本地的图片,不展示的问题)
1,读取本地图片如果是在assets里面的图片资源需要require的<img class="goods-image" :src="require('../assets/'+item.img)" alt="" />或者<img class="goods-image" :src="require('@/assets/'+item.img)" alt="" />...
2020-03-11 21:20:21
2908
转载 总结一下工作当中经常使用的数组查找,遍历等等
查找find()函数用来查找目标元素,找到就返回该元素,找不到返回undefinedfindIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1persons= [{name: '张三',gender: '男',age: 20},{name: '王...
2020-03-06 12:21:00
174
原创 工作中经常需要使用到的git命令操作
常用操作(配置基本的信息):$ git config --global user.name "John Doe"$ git config --global user.email johndoe@example.comgit 分支查看与切换 1 2 # 1.查看所有分支 > git branch -a 1 ...
2020-02-22 15:37:07
245
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人