php
执着更专业
坚持到底永不放弃
展开
-
闲扯B-Tree和B+Tree的异同
#同# B树和B+树其实都是平衡搜索树。这里要脑补一下平衡搜索树的概念:这个词划分一下就是平衡+搜索+树。也就是说,他首先是一棵树,其次能搜索,再次他是平衡的。大家耳熟能详的一个概念:二叉平衡搜索树。(详细的大家可以在百度上搜一下定义,或者拿起那本厚实的「算法导论」看看)。 #异# 但是B树和B+树却有不同的地方。就是这些不同的地方,决定了他们的用处转载 2017-07-27 08:55:26 · 7659 阅读 · 5 评论 -
php 性能测试工具 xhprof使用
安装: 下载xhprof网址:http://pecl.php.net/package/xhprofinstall//安装graphviz,一个画图工具wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.24.0.tar.gztar zxf graphviz-2.24.0.tar.gzcd graphviz-原创 2016-09-19 16:28:13 · 547 阅读 · 0 评论 -
JS if else 高级写法
首先出个题:如图: 假设对成长速度显示规定如下: 成长速度为5显示1个箭头; 成长速度为10显示2个箭头; 成长速度为12显示3个箭头; 成长速度为15显示4个箭头; 其他都显示都显示0各箭头。 用代码怎么实现? 差一点的if,else:var add_level = 0; if(add_step == 5){ add_level = 1; } else i转载 2016-09-19 10:13:15 · 25680 阅读 · 3 评论 -
ubuntu sublime text 2
http://www.cnblogs.com/bluestorm/archive/2013/09/13/3318868.html转载 2016-09-17 20:45:18 · 257 阅读 · 0 评论 -
PHP中使用memcache存储session的三种配置方法
原文地址:http://blog.csdn.net/clyde_coco/article/details/52182626#comments1、直接修改php.ini配置文件 代码如下:session.save_handler = memcache //设置session的储存方式为memcache memcache.hash_strategy = "consistent"/转载 2016-08-25 15:14:52 · 1829 阅读 · 0 评论 -
php.ini中文版
php.ini中文版 [PHP] ;;;;;;;;;;;;;;;;;;; ; PHP.INI中文说明 ; ;;;;;;;;;;;;;;;;;;; ; 这个文件是PHP安装的默认配置文件. ; 默认设置下, PHP是以程序开发为目的,而不是为了其它目的! ; 由于PHP在应用在您的站点之前必须考虑一些安全问题, ; 所以请您参考php.ini-reco翻译 2016-08-25 00:21:34 · 671 阅读 · 0 评论 -
编写好代码的几个要素
原文:http://www.techug.com/some-tips-for-good-code?ref=myread清晰虽然面向对象讲究内聚和封装,但是太多的子方法和类,实在是会把人绕到头晕,我推荐的做法是,方法尽量的内联,是同一个业务的就通通放到某个方法里面,如果这段逻辑实在太长,可以考虑抽取一些子方法(尽量别太多)。至于类,别动不动就来个类封装一把,要避免类膨胀。好的命名和注转载 2016-09-01 08:56:12 · 601 阅读 · 0 评论 -
linux 配置php环境变量
在家目录中创建一个shell 比如:php.shexport PATH=$PATH:/你的路径/php/bin 如果你想使用该环境变量 输入:source php.sh然后 就可以使用了 php a.php原创 2016-09-01 08:50:34 · 4818 阅读 · 0 评论 -
jQuery避免频繁的AJAX请求
之前在做网站的时候,有时候用到AJAX请求的时候发现,当给一元素绑定了某个事件,在这个事件被触发的时候就执行AJAX请求,但是如果没有及时等到服务器的响应,就回尝试频繁的触发那个事件,就得不到好的用户体验 form:http://blog.csdn.net/luokuncool/article/details/25983055$(function(){ $('selector').bind转载 2016-09-12 14:05:17 · 2256 阅读 · 0 评论 -
ajax防止表单重复提交
1.禁用按钮2.使用one,只执行一次3.设定flag<script type="text/javascript">$(function(){ var flag=1; function ajaxTest(){ if(flag){ $.ajax({ url: "test.php",原创 2016-09-12 13:58:43 · 1719 阅读 · 0 评论 -
(apache ,lighttpd,nginx)三大WEB服务器对比分析
http://www.centoscn.com/yunwei/manage/2014/0806/3439.html转载 2016-09-12 11:55:39 · 297 阅读 · 0 评论 -
PHP 更高效的字符长度判断方法
原文来自:http://www.xuansky.cn/tech/35.html今天看到有人说,在做字符串长度判断的时候,有个比strlen效率更高的方法。即:$str = ‘aaaaaa’;if(strlen($str) > 6)VSif(!isset($str{6})晚上自己用例子简单测试下,情况基本属实,特此记录下。后者效率几乎是前者的3倍。具体原因是,在P转载 2016-08-18 09:47:35 · 2062 阅读 · 0 评论 -
用SeasLog打造PHP高性能日志组件
什么是SeasLogSeasLog是一个C语言编写的PHP扩展,提供一组规范标准的功能函数,在PHP项目中方便、规范、高效地写日志,以及快速地读取和查询日志。为什么使用SeasLog无论在什么应用中,log日志都是架构中不可缺少的一个重要组成部分,它通常是系统或软件、应用的运行记录。通过log的分析,可以方便用户了解系统或软件、应用的运行情况;如果你的应用log足够丰富,也可以分析以往用户的操作行为原创 2016-09-20 09:03:34 · 876 阅读 · 1 评论 -
运维工程师成长路线
成为运维工程师必须掌握哪些呢????原创 2016-09-20 09:14:32 · 5017 阅读 · 0 评论 -
php接收表单的值 以及成功和失败提示
这是一个表单<form id="server-form"> <div class="xinj1-wrap"> <h1>新建/编辑服务器组</h1> <span> <b>显示名:</b> <input type="text" name="name"> </span>原创 2016-12-08 20:37:46 · 831 阅读 · 0 评论 -
二维转一维数组
public function foo($arr, &$rt) { if (is_array($arr)) { foreach ($arr as $v) { if (is_array($v)) { $this->foo($v, $rt); } els原创 2016-11-17 09:10:25 · 359 阅读 · 0 评论 -
array_keys 用法详细
array_keys() 函数返回包含数组中所有键名的一个新数组。如果提供了第二个参数,则只返回键值为该值的键名。如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型。语法 array_keys(array,value)参数 描述 array 必需。规定输入的数组。 value 可选。指定值的索引(键)。 strict 可选。与 v原创 2016-11-16 10:38:50 · 2462 阅读 · 0 评论 -
用PHP如何实现冒泡排序
1、首先我们必须弄清楚什么是冒泡排序,不理解冒泡排序的原理,我们就无法写出代码。 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对转载 2016-11-11 18:15:16 · 6716 阅读 · 0 评论 -
session 与cookie 的异同
ookie将数据存储在客户端,建立起用户与服务器之间的联系,通常可以解决很多问题,但是cookie仍然具有一些局限: cookie相对不是太安全,容易被盗用导致cookie欺骗 单个cookie的值最大只能存储4k 每次请求都要进行网络传输,占用带宽 session是将用户的会话数据存储在服务端,没有大小限制 通过一个session_id进行用户识别,PHP默认情况下sess转载 2016-11-11 18:10:48 · 260 阅读 · 0 评论 -
PHP依赖管理工具composer安装和使用
composer安装 1.下载composerphp -r "readfile('https://getcomposer.org/installer');" > composer-setup.phpphp composer-setup.phpphp -r "unlink('composer-setup.php');"执行第一条命令下载下来的 composer-setup.php 脚本将简单的检转载 2016-11-11 18:02:32 · 489 阅读 · 0 评论 -
一些PHP生成唯一字符串的方法
form:http://www.imooc.com/article/13419/** * 生成32位的唯一字符串 */function unique_name(){ return md5(uniqid(mt_rand(), true));}/** * 生成毫/微秒的时间戳 */function microtime_float(){ /* 微秒 */ list($usec,转载 2016-11-11 17:47:47 · 4159 阅读 · 0 评论 -
【PHP开发】国外程序员收集整理的 PHP 资源大全
ziadoz 在 Github 发起维护的一个 PHP 资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等等。http://www.cnblogs.com/taletao/p/4212916.html依赖管理依赖和包管理库Composer/Packagist:一个包和依赖管理器 Composer Installers:一个多框架Co转载 2016-11-06 21:09:13 · 577 阅读 · 0 评论 -
PHP基于数组的分页函数(核心函数array_slice())
关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数.<?php /** * 数组分页函数 核心函数 array_slice * 用此转载 2016-11-06 21:05:07 · 282 阅读 · 0 评论 -
composer遇到Your configuration does not allow connection to http://的问题怎么解决
有时候composer install/update的时候会报错: [Composer\Downloader\TransportException] Your configuration does not allow connection to http://ooxx/xxoo.Git. See https://getcomposer.org/doc/06-config.md#secure-转载 2016-11-04 18:42:09 · 2356 阅读 · 0 评论 -
php执行linux
$exestr='sudo XXXXXXXX';一开始用这个 不好用:exec($exestr, $stdout);改变成这样做就OKpublic function todoexec($exestr){ $file = popen($exestr,"r"); while(! feof($file)) { echo fgets($f原创 2016-11-04 10:37:09 · 334 阅读 · 0 评论 -
empty isset is_null 详情
empty isset is_null 详情原创 2016-09-27 17:14:10 · 259 阅读 · 0 评论 -
php 常用
PHP加密解密PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密。function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL原创 2016-09-22 09:20:33 · 315 阅读 · 0 评论 -
phpMemcache图形化工具
什么都不要修改 直接复制就可以使用<?php/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------原创 2016-07-25 11:53:16 · 832 阅读 · 0 评论 -
Redis Memcache SSDB比较
先来聊聊产品redis是什么 国内官网 命令 php操作redis命令 学习手册Redis 是一个开源(BSD许可)的,使用ANSI C语言编写的,支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集原创 2016-08-02 11:03:39 · 465 阅读 · 0 评论 -
php操作cookie
cookie的“增删改查”用cookie1,2,3,4四个文件来说明 从这里开始第二节,其实就是围绕着“增删改查”来讲的,增添和查询就是通过cookie 的存取来实现的,在之前已经实践了。这下我们来讲一下cookie的更新和删除更新数据如何更新cookie信息,首先必须是是针对一个用户,setcookie会覆盖之间的记录,非常简单//更新setcookie("nam转载 2016-07-30 09:39:06 · 461 阅读 · 0 评论 -
采用PHP函数uniqid生成一个唯一的ID
生成唯一ID的应用场景非常普遍,如临时缓存文件名称,临时变量,临时安全码等,uniqid()函数基于以微秒计的当前时间,生成一个唯一的 ID。由于生成唯一ID与微秒时间关联,因此ID的唯一性非常可靠。生成的唯一ID默认返回的字符串有 13 个字符串长,如果不定义唯一ID的前缀,最多可返回23个字符串长,如果再结合md5()函数,生成的唯一ID可靠性将更高,这种生成的ID比随机性的ID 最大优点在于可转载 2016-06-21 12:14:11 · 399 阅读 · 0 评论 -
使用phpQuery轻松采集网页内容
phpQuery是一个基于PHP的服务端开源项目,它可以让PHP开发人员轻松处理DOM文档内容,比如获取某新闻网站的头条信息。更有意思的是,它采用了jQuery的思想,你可以像使用jQuery一样处理页面内容,获取你想要的页面信息。采集头条 先看一实例,现在我要采集新浪网国内新闻的头条,代码如下:include 'phpQuery/phpQuery.php'; phpQuery::newDocu转载 2016-06-21 12:11:23 · 804 阅读 · 0 评论 -
PHP递归实现无限级分类
在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。递归,简单的说就是一段程序代码的重复调用,当把代码写到一个自定转载 2016-06-21 12:08:32 · 1564 阅读 · 0 评论 -
常用的正则表达式
今天我们分别用PHP和Javscript向大家介绍WEB开发中最常用最实用的正则表达式及其用法,正则表达式是一门学科,不可能使用一篇文章来讲解完,理论的东西网上很多,有兴趣的同学可以搜一大把。不过你也许没必要去埋头学习琢磨不透的正则表达式,看本文和实例给您呈现常用、实用的正则表达式。PHP常用表达式用法1.匹配正整数:/^[1-9]\d*$/2.匹配非负整数(正整数+0):/^\d+$/3.匹转载 2016-06-21 12:04:42 · 201 阅读 · 0 评论 -
WEB开发中的页面跳转方法总结
页面跳转可能是由于用户单击链接、按钮等触发的,也可能是系统自动产生的。页面自动跳转在WEB开发中经常用到,而且根据需求可以采用不同的跳转方式,比如提示操作信息后延时跳转等, 本文总结了WEB开发中常见的几种页面跳转方法。PHP header()函数跳转 PHP的header()函数非常强大,其中在页面url跳转方面也调用简单,使用header()直接跳转到指定url页面,这时页面跳转是302重定向转载 2016-06-21 12:01:26 · 963 阅读 · 0 评论 -
PHP的serialize序列化数据与JSON格式化数据
PHP的serialize是将变量序列化,返回一个具有变量类型和结构的字符串表达式,而JSON则是一种更轻、更友好的用于接口(AJAX、REST等)数据交换的格式。 其实两者都是以一种字符串的方式来体现一种数据结构。那么他们之间又有什么区别呢?serialize序列化我们在一些老的WEB系统中可能会看到在数据库或在文本文件中存储着一大串貌似有着特殊含义的字符串文本内容。我们仔细看会发现它具有数据类型转载 2016-06-21 11:56:43 · 497 阅读 · 0 评论 -
显示100+、200+....
/*** 数字小与100 显示数字 数字大于100 显示100+ ...**/private function FriendlyTips($counts) { if ($counts >= 100) { $len = strlen((string)$counts); $str = substr($counts, 0, 1)原创 2016-07-15 14:58:33 · 370 阅读 · 0 评论 -
友好的显示时间 PHP端
/** * 显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前, 如果超过1年, 就直接显示具体时间 * * @param int $inputTimestamp UnixTimestamp * @param string $overflowTimeFormat 超过3天的时间显示格式 * * @return string原创 2016-07-15 14:56:32 · 321 阅读 · 0 评论 -
分布式系统里session同步的那些事儿
几周前,有个盆友问老王,说现在有多台服务器,怎么样来解决这些服务器间的session同步问题?老王一下就来精神了,因为在n年以前,老王还在学校和几个同学一起所谓创业的时候,也遇到了类似的问题。当时查了很多资料,没有解决,于是后来投身百度,终于学到了“葵花宝典”,方才大彻大悟。所以,今天想跟大家分享一下关于session同步的那些事儿。秉着问题驱动的原则,老王先提几个问题: 1、什么是session转载 2016-07-15 14:47:34 · 327 阅读 · 0 评论 -
分布式系统里session同步的那些事儿
几周前,有个盆友问老王,说现在有多台服务器,怎么样来解决这些服务器间的session同步问题?老王一下就来精神了,因为在n年以前,老王还在学校和几个同学一起所谓创业的时候,也遇到了类似的问题。当时查了很多资料,没有解决,于是后来投身百度,终于学到了“葵花宝典”,方才大彻大悟。所以,今天想跟大家分享一下关于session同步的那些事儿。秉着问题驱动的原则,老王先提几个问题: 1、什么是session翻译 2016-06-12 09:43:29 · 725 阅读 · 0 评论