随笔分类 - PHP
摘要:1 <?php 2 /** 3 * Flexihash - A simple consistent hashing implementation for PHP. 4 * 5 * The MIT License 6 * 7 * Copyright (c) 2008 Paul Annesley 8 * 9 * Permission is hereby granted, free of charge, to any person obtaining a copy 10 * of this software and associated documentat...
阅读全文
摘要:最近发现在网络上冒泡排序的程序不少,但是介绍基本原理的文章很少能找到,所以整理了一下,供大家参考。二、冒泡排序 性能分析 它是冒泡排序的改良,但它同样是一个对数据有序性非常敏感的排序算法,只适合于数据基本有序的排序,时间复杂度与冒泡排序相同。 还有一种继续改良的算法(一次下沉再一次上浮),最优情况和最坏情况同样与冒泡排序差不多,但是一般情况下它要好过冒泡排序,它一次下沉,再一次上浮,这样避免了因一个数的逆序,而造成巨大的比较。如(2,3,4,…,n-1,n,1),用冒泡排序需要n(n-1)/2次比较,而此排序只要3轮,共比较(n-1)+(n-2)+(n-3)次,第一轮1将上移一位,第...
阅读全文
摘要:上一篇博客已经成功搭建了gearman环境:centos安装gearmand及php扩展下面我们来实现分布式,也就是万一一个进程死掉或者一台服务器当掉的情况假设两台服务器:192.168.10.102 和 192.168.10.103102的work代码如下:<?php $worker= new GearmanWorker(); $worker->addServer(); $worker->addServer('192.168.10.103',4730); $worker->addFunction("title", "tit
阅读全文
摘要:#install check yum -y install yum-fastestmirror yum -y install patch make gcc gcc-c++ gcc-g77 yum -y install libevent libevent-devel yum -y install php-develwget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gztar -zxvf libevent-1.4.12-stable.tar.gz cd libevent-1.4.12-stable./configur...
阅读全文
摘要:++++++++++++++++++++++++++++++++++++++++++++++linux下nginx+php+mysql环境搭建++++++++++++++++++++++++++++++++++++++++++++++操作系统 : [CentOS6.0]服务器 : [nginx-1.1.8]PHP : [php-5.2.6]数据库 : [mysql-5.1.59]PS : 经过两天的奋斗终于配置上了这套系统++++++++++++++++++++++++++++++++++++++++++++++wget 'http://ngi...
阅读全文
摘要:对于日IP不高或者说并发数不是很大的应用,一般不用考虑这些!!用一般的文件操作方法完全没有问题。但如果并发高,在我们对文件进行读写操作时,很有可能多个进程对进一文件进行操作,如果这时不对文件的访问进行相应的独占,就容易造成数据丢失。例如:一个在线聊天室(这里假定把聊天内容写入文件),在同一时刻,用户A和用户B都要操作数据保存文件,首先是A打开了文件,然后更新里面的数据,但这里B也正好也打开了同一个文件,也准备更新里面的数据。当A把写好的文件保存时,这里其实B已经打开了文件。但当B再把文件保存回去时,这里已经造成了数据的丢失,因为这里B用户完全不知道它所打开的文件在它对其进行更改时,A用户也更改
阅读全文
摘要:第一步,安装Ubuntu nginx由于Ubuntu 904已经包含了nginx,所以根本不要编译,安装超简单!修改/etc/apt/sources.list文件内容为国内镜像,然后运行:apt-get updateapt-get install nginx即可完成安装启动Ubuntu nginx:/etc/init.d/nginx start然后就可以访问了,http://localhost/ , 一切正常!如果不能访问,先不要继续,看看是什么原因,解决之后再继续。下面配置php第二步,安装Php安装php:apt-get install php5-cli php5-cgi mysql-se
阅读全文
摘要:安装# wget http://xcache.lighttpd.net/pub/Releases/1.3.1/xcache-1.3.1.tar.gz# tar xzvf xcache-1.3.1.tar.gz# cd xcache-1.3.1#/usr/local/php-5.3.5/bin/phpize# /configure --with-php-config=/usr/local/php-5.3.5/bin/php-config --enable-xcache# make# make install# cat xcache.ini >> /usr/local/php-5.3.
阅读全文
摘要:近日在看一个speedphp的代码时,看到一个非常好用的函数:extract(),它的主要作用是将数组展开,键名作为变量名,元素值为变量值,可以说为数组的操作提供了另外一个方便的工具,比方说,可以很方便的提取$_POST或者$_GET的元素,对表单提交上来的内容不能不用一一赋值,直接使用下面代码:form.html<form action="action.php" method="post"><input type="text" name="username"><input type=
阅读全文
摘要:/**calc_hash_tbl 计算Hash子表编号输入: $u ID号 $n 子表数输出: 两位十六进制子表编号**/function calc_hash_tbl($u, $n = 16){ $h = sprintf("%u", crc32($u)); $h1 = intval($h / $n); $h2 = $h1 % $n; $h3 = base_convert($h2, 10, 16); $h4 = sprintf("%02s", $h3); return $h4;}
阅读全文
摘要:每一种计算机语言都有自己的自动垃圾回收机制,让程序员不必过分关心程序内存分配,php也不例外,但是在面向对象编程(OOP)编程中,有些对象需要显式的销毁;防止程序执行内存溢出。一、PHP 垃圾回收机制(Garbage Collector 简称GC)在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁;这是PHP的GC垃圾处理机制,防止内存溢出。当一个PHP线程结束时,当前占用的所有内存空间都会被销毁,当前程序中所有对象同时被销毁。GC进程一般都跟着每起一个SESSION而开始运行的.gc目的是为了在session文件过期以后自动销毁删除这些文件.二、__dest
阅读全文
摘要:此代码只要运行一次后关闭浏览器即可。 ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去 $interval=60*30;// 每隔半小时运行 do{ //这里是你要执行的代码 sleep($interval);// 等待5分钟 }while(true);
阅读全文
摘要:SWFupload是Flash、JS和PHP结合的支持多次上传多张图片的组件,非常不错。http://code.google.com/p/swfupload/
阅读全文
摘要:之前如果要在某个数组中删除一个元素,我是直接用的unset,也不管unset之后会发生什么。但今天看到的东西却让我大吃一惊<?php$arr=array('a','b','c','d');unset($arr[1]);print_r($arr);?> print_r($arr)之后,结果却不是那样的,最终结果是Array ( [0] => a [2] => c [3] => d那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():<?php$arr=arr
阅读全文