
日常整理
安徒生_
这个作者很懒,什么都没留下…
展开
-
bootstarp modal框居中
bootstrap.js的大概1154行:this.$element.css({ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', paddingRight: this.bodyIsOverflowing && !modalIsOverflowi原创 2017-02-18 09:32:24 · 923 阅读 · 0 评论 -
redis列表类型存储文章ID存在的问题
使用列表类型存储文章ID列表有以下两个问题: 1. 文章的发布时间不易修改:修改文章的发布时间不仅要修改post:文章ID中的time,还需要按照实际的发布时间重新排序posts:list中元素顺序,这一操作相对比较繁琐。 2. 当文章数量较多时访问中间的页面性能较差:列表类型是通过链表实现的,所以当列表元素非常多时访问中间的元素效率并不高。 但如果博客不提供修改文章时间的功能并且文章数量也原创 2017-09-21 22:08:56 · 1103 阅读 · 0 评论 -
tp取无限级分类
controllerpublic function listAction(){ // 判断缓存是否存在 // 初始化缓存配置 S([ 'type' => 'memcache', 'host' => '127.0.0.1', 'port' => '11211' ]); $cat_tree = S('cat_tree'); if原创 2017-10-10 22:59:14 · 1034 阅读 · 0 评论 -
判断当前页不能大于最后一页
$totalPage = ceil($totalRows / $listRows);$this->nowPage = empty($GET['$this->p']) ? 1 : max(1, min($totalPage, inval($_GET[$this->p])));原创 2017-10-11 10:20:58 · 850 阅读 · 0 评论 -
阻止链接打开
$("a").click(function(event){ event.preventDefault();});原创 2017-10-11 10:32:52 · 242 阅读 · 0 评论 -
用户名验证
['username', 'match','pattern'=>'/^[(\x{4E00}-\x{9FA5})a-zA-Z]+[(\x{4E00}-\x{9FA5})a-zA-Z_\d]*$/u','message'=>'用户名由字母,汉字,数字,下划线组成,且不能以数字和下划线开头。']原创 2017-10-11 10:38:08 · 879 阅读 · 1 评论 -
Yii2 advanced 安装步骤
解压php init 开发模式 建库,改配置文件 php migrate 美化url原创 2017-10-11 10:41:23 · 458 阅读 · 0 评论 -
php用dom处理xml
方法<?php $dom = new DOMDocument('1.0', 'utf-8'); // 通过$dom对象获得被处理的xml信息 $dom->loadXML($contents); // 获得对应元素节点对象,返回一个列表 $outlist = $dom->getElementsByTagName('tagname'); // DOMList原创 2017-10-11 11:00:11 · 458 阅读 · 0 评论 -
memcached的内部存储
memcached 默认情况下采用了名为 Slab Allocator 的机制分配、管理内存。在该机制出现以前,内存的分配是通过对所有记录简单地进行malloc 和 free 来进行的。但是,这种方式会导致内存碎片,加重操作系统内存管理器的负担,最坏的情况下,会导致操作系统比 memcached 进程本身还慢。Slab Allocator 就是为解决该问题而诞生的。 Slab Allocato原创 2017-10-11 11:25:02 · 270 阅读 · 0 评论 -
linux 内存不足
在linux下增加临时swap空间step 1#sudo dd if=/dev/zero of=/home/swap bs=64M count=16注释:of=/home/swap,放置swap的空间。 count 的大小就是增加的 swap 空间的大小,64M 就是块大小,这里是 64MB,所以总共空间就是 bs*count=1024MB。这里分配空间的时候需要一点时间,等待执行完毕。ste原创 2017-10-12 11:01:39 · 898 阅读 · 0 评论 -
有关url的php内置函数
parse_url()在解析 URL 时没必要用正则表达式,使用 parse_url() 即可;在获取 HTTP 头时,也可以使用 get_headers()。parse_urlhttp_build_query()生成 URL-encode 之后的请求字符串。http_build_queryfile_get_contents()我们经常用 file_get_contents() 打开文件。原创 2017-10-14 08:44:43 · 650 阅读 · 0 评论 -
memcached一致性哈希算法
根据余数计算分散根据服务器台数的余数进行分散:求得键的整数哈希值,再除以服务器台数,根据其余数来选择服务器。余数计算的方法简单,数据的分散性也相当优秀,但也有其缺点。那就是当添加或移除服务器时,缓存重组的代价相当巨大。添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器,从而影响缓存的命中率。eg. 由 N 台服务器变为 N-1 台——每 N*(N-1) 个数中,求余相同的数只有 N原创 2017-10-11 14:45:58 · 399 阅读 · 0 评论 -
LAMP安装
1、安装之前先更新系统sudo apt update 2、Apache2sudo apt install apache23、PHPsudo apt install phpsudo apt-get install libapache2-mod-php4、MySQLsudo apt install mysql-server php7.0-mysqlsudo apt-get install mysql原创 2017-08-31 11:41:59 · 239 阅读 · 1 评论 -
linux下安装redis
1、准备源码包cp redis.tar.gz /usr/local/src/2、解压root@AnnS:/usr/local/src# tar -zxvf redis.tar.gz3、 直接makeroot@AnnS:/usr/local/src/redis# make -- 不需要使用 ./configure4、把 redis 安装到指定目录root@AnnS:/usr/local/src/re原创 2017-08-27 20:15:04 · 171 阅读 · 0 评论 -
linux下安装phpredis
1、解压源码包tar -zxvf phpredis.tar.gz2、phpizeann@AnnS:phpredis$ phpize //如果未安装,它会提示对应命令安装3、./confure | make | make install 编译成功后,会有redis.so扩展包文件。4、添加配置 在php.ini中修改extension_dir = "redis.so文件所在路径"extensio原创 2017-08-31 11:31:09 · 178 阅读 · 0 评论 -
日期加月份
$info['valid'] = date('Y-m-d',strtotime($chk['checkTime']." +".$info['circle']." month"));原创 2017-07-20 10:11:45 · 366 阅读 · 0 评论 -
phpExcel 笔记
**1、获得当前非空的最大的行和列**```$lastRow = $objPHPExcel->getActiveSheet()->getHighestRow();$lastColumn = $objPHPExcel->getActiveSheet()->getHighestColumn();// 等效于 Array ( [row] => 6 [column] => X )$lastCell = $objP原创 2017-07-15 13:27:43 · 705 阅读 · 0 评论 -
mysqlbinlog 时的乱码问题
1、有关增量备份的配置 my.ini 里# Binary Logging.// # log-bin 如果支取掉 # 就默认在 datadir 这个路径里存 binlog 文件log-bin = D:/iweb/binlog/mylogbin重启mysql,成功则 2、查看 logbin 文件 在 mysql 的bin目录下mysqlbinlog D:\iweb\binlog\mylogbi原创 2017-08-10 13:55:39 · 5079 阅读 · 0 评论 -
php 下载 xlsx
public function downXlsx($filename){ $file_name = $filename.".xlsx"; //下载文件名 $file_dir = dirname(__file__)."/xls/"; //下载文件存放目录 //检查文件是否存在 if (!file_exists ($file_dir.$fi原创 2017-08-06 16:34:29 · 2006 阅读 · 0 评论 -
hexo 搭建 github pages 的备忘
一、hexo 与 域名 GitHub+Hexo 搭建个人网站详细教程P.S. 这个教程算是比较顺利的。 卡壳的地方有两个: 1. hexo init blog 之后的hexo new test_my_site 需 cd blog 之后进行,原博忘了可能。 2. 域名解析时 192.30.252.153 这个是github的地址,但设置成这样造成之后不能以不带www的域名进入,所以我选择原创 2017-08-14 14:07:38 · 240 阅读 · 0 评论 -
linux根目录
1、/bin binary二进制 存放系统许多可执行程序文件 执行的相关指令,例如ls pwd whoami,后台的支持文件目录2、/sbin super binary超级的二进制 存放系统许多可执行程序文件,许多指令支持文件,是root管理员执行 指令的支持文件,例如init 3、/usr unix system resource操作系统资原创 2017-08-27 14:24:03 · 324 阅读 · 0 评论 -
vi 的三种模式
1、命令模式 与 编辑模式切换 a: 光标向后移动一位进入编辑模式 i: 光标和内容 没有变化进入编辑模式 o: 新起一行进入编辑模式 s: 删除光标所在字符进入编辑模式2、尾行模式操作 :w //对编辑后的文档进行保存 :q //退出vi编辑器 :wq //保存并退出编辑器 :q!原创 2017-08-27 14:30:44 · 4550 阅读 · 0 评论 -
linux常用指令
1、查看当做操作目录位置pwd2、查看(当前)目录里边的文件内容ls //listls -l 或ll //显示文件的详细信息ls -al //all显示文件的详细信息(包括隐藏文件)ls -a //显示目录全部文件名字(包括隐藏文件)ls [-al] 目录 //查看指定目录的文件信息3、目录的原创 2017-08-26 21:44:37 · 239 阅读 · 0 评论 -
git的push与fetch
1、push 首次:git push -u origin master日常:$ git push origin master2、fetch$ git remote -v // 查看远程分支$ git fetch origin master:temp // 从远程获取最新版本到本地$ git diff temp原创 2017-08-27 20:50:47 · 1003 阅读 · 0 评论 -
Laravel 下 Angularjs 的安装
1、安装前先更新npm i -g npm2、安装npm install angular jquery @uirouter/angularjs normalize.css原创 2017-09-06 16:53:40 · 627 阅读 · 0 评论 -
Angularjs 的解析符
解决与 Laravel 解析符相冲突的情况。 angular.module('appname', []) .config(function($interpolateProvider){ $interpolateProvider.startSymbol('[:'); $interpolateProvider.endSymbol(':]');})原创 2017-09-06 23:14:12 · 166 阅读 · 0 评论 -
Predis
predis 与 phpredis redis官方推荐的php客户端是predis和phpredis。前者是完全使用php代码实现的原生客户端,后者则是用c编写的php拓展。在功能上二者区别不大,就性能而言后者更胜一筹。 虽然predis的性能逊于phpredis,但除非执行大量的redis命令,否则很难区分二者的性能。而且实际应用中执行redis的命令的开销更多在网络传输上,单纯注重原创 2017-09-07 15:51:29 · 1049 阅读 · 0 评论 -
Laravel用post提交时需要注意的两个问题
MethodNotAllowHttpException原因:路由中设置的提交方式和表单中设置的不统一。解决办法:改为 Route::any() 或者 Route::post()。TokenMismatchException原因:Laravel框架为了防止跨域请求攻击(CSRF)而为用户生成的随机令牌。post请求如果没有验证token,就会报错。解决方法: <input type="hidd原创 2017-09-07 16:13:14 · 6669 阅读 · 0 评论 -
LAMP/LNMP安装与配置
LINUXvirtual box 与 centos 官网下载,安装。virtual box 首次启动centos时,需注意:安装位置的选择 和 网络和主机名中网络的开启root 密码的设置 和管理员用户的创建网络设置ping www.baidu.com,若网络不通,则 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 中ONBOOT = yes设置原创 2017-10-08 16:34:40 · 1045 阅读 · 0 评论