自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 PHP生成唯一订单号的方法汇总

echo date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);订单号常见的几种方式:1.利用数据库主键值产生一个自增长的订单号(订单号即数据表的主键)2.日期+自增长数字的订单号(比如:2012040110235662)3.产生随机的订单号(65865325365966)4.字母+数字字符串式,字母有包含特别意义,C02

2016-01-22 11:24:56 7197 1

转载 HTTP对外接口,如何增加签名机制

接口开发是各系统之间对接的重要方式,其数据是通过开放的互联网传输,对数据的安全性要有一定要求。为了提高传输过程参数的防篡改性,签名sign的方式是目前比较常用的方式。我这里介绍一种方式,是目前国内互联网公司常用的一种方式,其中淘宝的支付宝支付接口、淘宝开放平台接口、腾讯开放平台等应用的一种方式。 一、签名参数sign生成的方法第1步: 将所有参数(注意是所有参数),除去sign

2016-01-22 09:28:51 8141 1

转载 MySQL查询某个字段属性值重复出现的次数

在某些时候,我们需要在MySQL中查询某个字段属性值重复的次数: select category , count(*) AS count from publication_has_category     group by category order by count DESC     此查询语句返回的是publication_has_category 表中categor

2016-01-21 09:23:17 18945

转载 Linux命令经典面试题:统计文件中出现次数最多的前10个单词

使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词。cat words.txt | sort | uniq -c | sort -k1,1nr | head -10  主要考察对sort、uniq命令的使用,相关解释如下,命令及参数的详细说明请自行通过man查看,简单介绍下以上指

2016-01-19 15:13:04 7745

原创 PHP实现乘法表

for($i = 1;$i 9; $i++){ for($j = 1;$j $i; $j++){ echo $j."*".$i."=".$j*$i; } echo "";}

2016-01-18 10:24:19 1280

转载 探究PHP底层

探究PHP底层1、PHP是什么?PHP 指的是我们从外面看到的一套完整的系统。这听起来有点糊涂,但其实并不复杂(PHP4 内部结构图)。从功能上来分:我们可以分为三部分:1、 解释器部分(Zend 以引擎),负责对输入代码的分析、翻译和执行;2、 功能性部分(PHP功能函数以及扩展),负责具体实现语言的各种功能(比如它的函数等等);3、 接口部分

2016-01-18 10:05:12 423

转载 缓存穿透、缓存并发、缓存失效

一、缓存穿透我们在项目中使用缓存通常都是APP先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。这个问题其实经常遇到,只是没有引起足够的重视,在我想来,如果碰到这样的问题可以在封装的缓存SET和GET部

2016-01-14 21:44:24 288

原创 php 、cgi 、fastcgi 、php-fpm之间的运行原理和机制分享二

FASTCGI:WEB服务器与处理程序之间通信的一种协议,是CGI的改进方案。  FASTCGI是常驻型的CGI,它可以一直运行,在请求到达时,不会花费时间去fork一个进程来处理。Fastcgi的特点是会在一个进程中依次完成多个请求,以达到提高效率的目的,大多数Fastcgi实现都会维护一个进程池。而PHP-fpm就是针对于PHP的,Fastcgi的一种实现,他负责管理一

2016-01-12 16:36:50 2045 1

原创 php __autoad __toString __call 详解

__construct() :实例化对象时被调用;__destuct():当删除一个对象或者对象操作终止是被执行;__call():调用对象不存在方法时被调用;__get():调用对象不存在的属性时被调用;__set():设置对象不存在的属性时被调用;__toString():打印一个对象时被调用,比如echo $obj,print($obj);__clone():克隆对象

2016-01-11 21:06:25 486

原创 php二分查找算法

function binarySearch($arr,$target){$low = 0;      $high = count($arr)-1;      while($low          $mid = intval(($low+$high)/2);  #找到元素      if ($arr[$mid]) == $target) return

2016-01-11 17:08:20 502

原创 php冒泡排序算法和快速排序算法

许多人都说算法是程序的核心,算法的好坏决定了程序的质量。作为一个初级phper,虽然很少接触到算法方面的东西。但是对于基本的排序算法还是应该掌握的,它是程序开发的必备工具。这里介绍冒泡排序,插入排序,选择排序,快速排序四种基本算法,分析一下算法的思路。前提:分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序。?

2016-01-11 16:50:11 631

原创 Mysql常见水平分表方案

根据经验,Mysql表数据一般达到百万级别,查询效率会很低,容易造成表锁,甚至堆积很多连接,直接挂掉;水平分表能够很大程度较少这些压力。1.按时间分表这种分表方式有一定的局限性,当数据有较强的实效性,如微博发送记录、微信消息记录等,这种数据很少有用户会查询几个月前的数据,如就可以按月分表。2.按区间范围分表一般在有严格的自增id需求上,如按照user_id水平分表:

2016-01-11 10:38:32 1584 1

原创 p3p协议实现跨域站点登录

1.在A站点www.a.com写上SCRIPT 脚本 指向B站点上 echo '';die;2.然后在B站点的这个index方法里写COOKIE header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');  setcookie("t

2016-01-08 09:14:43 534

转载 Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。一般vmst

2016-01-21 09:38:24 322

原创 linuxsort命令的使用详解

获得目录下文件大小的顺序ls -al | sort -k5 -rn //-k5从第5列开始显示-k来指定列数 -rn  sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。就要使用-n选项,来告诉sort,“要以数值来排序”! 获得当前系统中运行的最占内存的前10个程序ps aux | sort -k6 -rn | head -n10   从第6列显示

2016-01-20 10:18:41 5238

原创 nginx服务器配置详解

server {    listen 80;  //端口    server_name  conquer.ayibang.cc; //主机    root  /data/htdocs/conquer/public;//文件目录    index index.html index.php; //默认访问的首页//url重写    location / {        i

2016-01-19 21:17:57 335

原创 校验手机号和邮箱地址是否正确

/**     * 手机号码验证     * @param unknown_type $mobile     * @return number|unknown     */    public function filterMobile(&$mobile) {        $pattern = '/^(13[0-9]|15[012356789]|18[02356789]|

2016-01-19 16:37:42 1031

原创 apache 访问www.a.com/index.php/index 去除index.php

打开 D:\xampp\apache\conf\http.conf    #    # Possible values for the Options directive are "None", "All",    # or any combination of:    #   Indexes Includes FollowSymLinks SymLinksifOwne

2016-01-19 16:09:12 1860

原创 调用物流接口按时间正序显示数据

$followingInfo = $this->getOgisticsInfoByNum($company,$typeNu);$count = count($followingInfo['data']);//按时间正序排列foreach($followingInfo['data'] as $key => $val){ $followingInfo['data'][$count -

2016-01-19 16:02:33 552

原创 linux查看文件的大小和linux目录结构

查看文件和文件夹大小:du –sh dirname      //du -sh logs/如果查看某个目录下所有文件及文件的大小:du –sh *按照文件大小排序du –sh * |sort –n/bin 二进制可执行命令/dev 设备特殊文件/etc 系统管理和配置文件/etc/rc.d 启动的配置文件和脚本

2016-01-19 14:42:04 298

原创 基于redis缓存的session共享

为了做到redis的高可用,引入了haproxy或者keepalived来解决redis master slave的切换问题。即:  此体系结构中, redis master出现故障时, 通过haproxy设置redis slave为临时master, redis master重新恢复后, 再切换回去. 此方案中, redis-master 与redis-sla

2016-01-19 14:03:05 657 2

原创 php如何计算一个字符串的每个字符出现的次数

$str = "sdfhletlsflahlajgfd;lsje;r;wj;ralajfe149253573";//字符串分隔到数组中$arr = str_split($str);//用于统计数组中所有值出现的次数,返回一个数组$arr = array_count_values($arr);//键名为原数组的键值,键值为出数arsort($arr);//按键值倒序排列print_r($ar

2016-01-19 13:32:12 1048

转载 mysql 数据库 分表后 怎么进行分页查询?Mysql分库分表方案?

1.如果只是为了分页,可以考虑这种分表,就是表的id是范围性的,且id是连续的,比如第一张表id是1到10万,第二张是10万到20万,这样分页应该没什么问题。2.如果是其他的分表方式,建议用sphinx先建索引,然后查询分页,我们公司现在就是这样干的Mysql分库分表方案1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话

2016-01-19 09:47:00 57940 7

原创 对称加密/非对称加密

比如一个字符串123,把123作为加密,那解密也用123,叫对称加密。同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密。常用的对称加密有:DES、IDEA、RC2、RC4、SKIPJACK、RC5、AES算法等把一个字符串123作为加密,456作为解密,叫非对称加密。因为复杂的加密算法,使的非对称密钥加密速度慢,成本高。非对称密钥加密算法的典型代表是RSA。

2016-01-18 14:34:20 561

原创 PHP获取文件扩展名的方法

//方法1$str = '/www/htdocs/your_image.jpg';return end(explode('.', $str));//方法2$info = pathinfo($str);return $info['extension'];

2016-01-18 14:15:27 342

原创 如何把1234567890变成1,234,567,890?

$str='1234567890';function getString($str){ $str = strrev($str); $str = chunk_split($str,3,','); $str = strrev($str); $str = trim($str,',');//表示去掉两端的这样的字符 return $str;}//chu

2016-01-18 14:05:10 1441

转载 mysql事务知识分享

一、 什么是事务事务就是一段sql 语句的批处理,但是这个批处理是一个atom(原子) ,不可分割,要么都执行,要么回滚(rollback)都不执行。二、为什么出现这种技术为什么要使用事务这个技术呢? 现在的很多软件都是多用户,多程序,多线程的,对同一个表可能同时有很多人在用,为保持数据的一致性,所以提出了事务的概念。这样很抽象,举个例子: A 给B 要划钱,A 的

2016-01-14 16:37:03 271

转载 PHP empty、isset、isnull的区别

PHP empty、isset、isnull的区别empty如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,”"、0、”0″、NULL、FALSE、array()、var $var、未定义;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。isset如果 变量 存在(非NULL)则返回 TRUE,否则返回 F

2016-01-14 15:52:07 283

转载 对PHP输入输出流学习和认识

PHP输入和输出流是通过php://来访问的,它允许访问 PHP 的输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过滤器。php://stdin, php://stdout 和 php://stderrphp://stdin,php://stdout 和 php://stderr允许访问 PHP 进程相应的输入或者输出流。

2016-01-14 15:15:24 425

原创 nginx 正向代理和反向代理

反向代理是指以代理服务器(nginx)来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

2016-01-13 09:56:55 331

原创 查看php-fpm的进程和端口号

ps -ef | grep php-fpm   查看php-fpm所有的进程netstat -lntp 查看监听端口  listen/network/tcp/port tcp        0      0 0.0.0.0:801                 0.0.0.0:*                   LISTEN      15923/nginxtcp

2016-01-12 16:48:11 28693

原创 PHP 类自动加载

PHP5提供的类加载机制分为二种,一种是用户自扩展的_autoload方式,一种是将autoload_func指向php文件,这个一般用c语言实现_autoload的实际是遇到需加载的class类,PHP先从接口已加载的类中查找,没有则调用autoload进行加载,加载的是class类所在的PHP文件PHP文件的执行首先将php转换为OPCODE字节码,然后通过虚拟机来执行

2016-01-12 09:15:15 409

原创 php设计模式详解

1.单例模式 一个对象只负责一个特定的任务,可以避免大量的new操作消耗资源2. 工厂模式 是对对象创建的封装,简化创建对象的操作,调用工厂类的一个方法,来得到需要的类。3.观察者模式 定义了对象见一种1对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象都会得到通知并自动刷新改变对象。使用例子:网站下单短信通知,用户注册发邮件。4.策略模式 定义一系列

2016-01-12 08:55:56 284

转载 一、REST架构风格:

REST(Representational State Transfer)是一种轻量级的Web Service架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。REST最早是由 Roy Thomas Fielding 博士2000年在论文《Architectural Sty

2016-01-12 08:48:55 405

转载 PHP语言的优点及缺点

优点1.入门快,有其它语言基础的程序员二周左右的时间就可以入门,一个月左右的时间基本上就可以开发简单的项目了。2.开发成本低,PHP最经典的组合就是:Linux + Apache + MySQL + PHP。非常适合开发中小型的web应用,因为上手容易,所以开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。 3.PHP是解释性的脚本语言,写完代码以后即可以执行,不像c,ja

2016-01-12 08:28:09 2448

原创 mysql知识和sql语句分享

Mysql设置自增长主键的初始值alter table test AUTO_INCREMENT = 200;//mysql 配置文件的目录/etc/my.cnf//mysql 导出sql文件sudo su sudo mysqldump -uroot -p ayibangcms admin > admin.sql;

2016-01-11 17:04:57 357

原创 linux find grep awk 查找

find /  -iname nginx.conf  在整个根目录下搜索Nginx.conf 这个文件  不区分大小写find /data/www/o3web/ -name '*php' | wc -l;   在指定的目录下搜索以PHP结尾的文件并统计有多少行find /temp/ -name "[ab].sh"; 匹配括号的任意一个字符grep -o '.php' /data/w

2016-01-11 15:12:08 295

原创 linux shell

1.hello.sh#! /bin/bashecho hello world赋予文件所有者执行的权限chmod u+x  hello.sh./hellworld 2.让脚本在后台执行加&./hello.sh &jobs 查看当前作业的命令[2] =>作业号15663=>pidfg 2 =>作业号 ||  bg 3 重新启动前台作业|| 重新启动后台作

2016-01-11 14:22:37 269

原创 MYSQL优化的方案分享001

1. EXPLAIN 你的 SELECT 查询 2. 为搜索字段建索引 另外,你应该也需要知道什么样的搜索是不能使用正常的索引的。例如,当你需要在一篇大的文章中搜索一个词时,如: “WHERE post_content LIKE ‘%apple%'”,索引可能是没有意义的。你可能需要使用MySQL全文索引 或是自己做一个索引(比如说:搜索关键词或是Tag什么的) 3.避免

2016-01-11 11:03:17 334

原创 PHP 接口和抽象类的区别实例

2016-01-08 15:55:49 436

全球地区表世界上所有国家或地区的名录

精心整理世界上所有国家或地区的名录,共计246条,包含名称,人口等字段,可下载应用于数据库基础数据构建上层应用,数据格式为json,noSql数据库可以直接导入,sql数据库请自行转换结构。

2022-01-12

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

TA关注的人

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