php
文章平均质量分 79
zhxp_870516
这个作者很懒,什么都没留下…
展开
-
linux下php多进程编程
转载地址:http://blog.csdn.net/wzllai/article/details/8257091转载 2014-05-04 18:37:10 · 988 阅读 · 0 评论 -
PHP中安装APC扩展遇到问题
做YII二次开发时,需要开启APC扩展做些对应的功能,用的是PHP5.3.8,按照要求所有扩展开启后都正常。后面需要做shopnc的二次开发,用过的人都知道,这框架不开源的,蛋疼!!!必须要安装zend optimizer才能访问正常,悲催的是PHP5.3.x不再支持zend optimizer,各种蛋疼。。。。。结果将PHP5.3.8降级为PHP5.2.6,接下来的问题就出来了!!!转载 2013-03-27 15:42:33 · 1297 阅读 · 1 评论 -
PHP 二进制流 逐bit的低位在前算法
/****************************************************** * 逐bit的低位在前算法 * @param $x * @return int */ function reverse($x) { $result = 0; for($i = 0; $i < 8;转载 2013-03-19 13:06:38 · 775 阅读 · 0 评论 -
php 脚本缓存 apc配置
Alternative PHP Cache(APC)是 PHP的一个免费公开的优化代码缓存。他用来提供免费,公开并且强健的架构来缓存和优化 PHP 的中间代码。在 视窗系统 下,APC 需求有 c:\tmp 目录,并且该目录要对 Web 服务器进程可写。1. 安装:以PHP extension 形式安装.2. 设置apc.enabled booleanapc.optimiz转载 2013-03-27 15:14:04 · 652 阅读 · 0 评论 -
JSONP 模拟简单的单点登录
关于JSONP 的介绍请参考:http://chinazblz.blog.163.com/blog/static/93939173201042485426995/http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.htmlhttp://blog.csdn.net/veverrr/article/de转载 2013-04-09 16:52:45 · 4039 阅读 · 0 评论 -
HessianPHP使用
什么是Hessian Hessian是由caucho提供的一种开源的远程通讯协议。 采用二进制 RPC 协议,基于 HTTP 传输,服务器端不用另开放防火墙端口。 协议的规范是公开的,可以用于任意语言。 采用客户机/服务器模式。 请求程序就是一个客户机,而服务提供程序就是一个服务器。 客户机调用进程发送一个有进程参数的调用信息到服务进程,转载 2013-04-03 10:13:40 · 1057 阅读 · 0 评论 -
eAccelerator安装与使用
<!--@page {margin:2cm}p {margin-bottom:0.21cm; direction:ltr; color:#000000; text-align:justify; widows:0; orphans:0}-->一、PHPeAccelerator安装去https://github.com/eaccelerato原创 2013-04-03 09:54:21 · 935 阅读 · 0 评论 -
PHP APC安装与使用
<!--@page {margin:2cm}p {margin-bottom:0.21cm; direction:ltr; color:#000000; text-align:justify; widows:0; orphans:0}-->一、PHPAPC安装下载与解压安装包:wget-c http://pecl.php.net/原创 2013-04-03 09:45:04 · 923 阅读 · 0 评论 -
PHP数据类型总结
PHP共有8中数据类型: 类型名称 类型表示 取值 bool 布尔型 true,false integer 整型-2147483647-2147483648 string 字符串型 字符串长度取决于机器内存 float 浮点型 最大值1.8e308 object 对象通过n原创 2013-04-02 11:37:34 · 663 阅读 · 0 评论 -
php socket讲解与实例
在这一章里你将了解到迷人而又让人容易糊涂的套接字(Sockets)。Sockets在PHP中是没有充分利用的功能。今天你将看到产生一个能使用客户端连接的服务器,并在客户端使用socket进行连接,服务器端将详细的处理信息发送给客户端。当你看到完整的socket过程,那么你将会在以后的程序开发中使用它。这个服务器是一个能让你连接的HTTP服务器,客户端是一个Web浏览器,这是一个单一的 客户端/转载 2013-04-02 11:02:50 · 765 阅读 · 0 评论 -
php读取二进制流(C语言结构体struct数据文件)
尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持。不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转:string pack ( string $format [, mixed $args [, mixed $...]] ) //Pack given arguments into bi转载 2013-03-19 13:14:23 · 1093 阅读 · 0 评论 -
PHP Yii框架中使用smarty模板
第一种方法按照YII系统的办法生成视图觉得有点麻烦,觉得用smarty更省事。尝试着把smarty模板加进来了。date_default_timezone_set("PRC");class PlaceController extends CController {protected $_smarty;function __construct(){parent::__co转载 2013-02-16 15:51:24 · 2313 阅读 · 0 评论 -
Yii安装使用教程
Yii 是一个基于组件的高性能 PHP 框架,用于快速开发大型 Web 应用。它使Web开发中的 可复用度最大化,可以显著提高你的Web应用开发速度。Yii 这个名字(读作易(Yee) 或 [ji:])代表简单(easy), 高效(efficient) 和 可扩展(extensible).一、下载yiiframework,当前最新版本是1.1.6下载地址:http://yii.go转载 2013-02-16 15:41:59 · 3157 阅读 · 0 评论 -
PHP中spl_autoload_register函数的用法
spl_autoload_register(PHP 5 >= 5.1.2)spl_autoload_register — 注册__autoload()函数说明bool spl_autoload_register ([ callback $autoload_function ] )将函数注册到SPL __autoload函数栈中。如果该栈中的函数尚未激活,则激活它们。如果在你转载 2013-02-16 21:07:53 · 394 阅读 · 0 评论 -
PHP设计模式漫谈之代理模式
代理模式(Proxy),它是对简单处理程序(或指针)的增强,用于引用一个对象:这个指针被代理(Proxy)对象取代,代理对象位于客户端(Client)和真实执行程序之间,指针有一个可被多个目标利用的钩子。 从技术上讲,这种模式在客户端和真实主体(RealSubject)之间插入一个代理对象,维护subject接口和用不同的方式委派它的方法。代理可以透明地做任何事情:懒散创建Real转载 2013-01-21 15:05:35 · 365 阅读 · 0 评论 -
PHP设计模式漫谈之解释器模式
解释器(Interpreter)模式,它包括一个具有复合类分层结构的文法表现,规则是映射到类,跟随在文法后面的表达式可以被转换成一个抽象的语法树,除了复合模式的实例对象图外,没有别的内容。 树是一个抽象的名词,因为实际上大多数时候它是一个表达式的抽象表现,它忽略了可能有一个字符串,也可能有一个数据结构的具体表达式,(例如,在PHP中,“A”和“\x41”是相同抽象字面值的不同具体表转载 2013-01-21 14:59:06 · 348 阅读 · 0 评论 -
php5 的 session 详解其一: 什么是 session?
1、什么是Session Session 的中文译名叫做“会话”,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个 session。目前社会上对 session 的理解非常混乱:有时候我们可以看到这样的话“在一个浏览器会话期间,...”,这里的会话是指从一个浏览器窗口打开到关闭这个期间;也可以看到“用户(客户端)在一次转载 2013-01-22 11:51:07 · 1062 阅读 · 1 评论 -
编写PHP扩展
用C/C++扩展PHP的优缺点:优点:效率,还是效率减少PHP脚本的复杂度, 极端情况下, 你只需要在PHP脚本中,简单的调用一个扩展实现的函数,然后你所有的功能都就被扩展实现了而缺点也是显而易见的:开发复杂可维护性降低开发周期变长, 最简单的一个例子,当你用PHP脚本的时候, 如果你发现某个判断条件出错,你只要修改了这一行,保存,那么就立刻能见原创 2013-04-02 14:22:48 · 781 阅读 · 0 评论 -
PHP变量的存储
<!--h4 {margin-top:0.49cm; margin-bottom:0.51cm; direction:ltr; color:rgb(0,0,0); line-height:156%; text-align:justify; page-break-inside:avoid}h4.western {font-family:"Arial",sans转载 2013-04-27 17:35:09 · 867 阅读 · 0 评论 -
PHP的HashTable结构
HashTable是Zend引擎中最重要、使用最广泛的数据结构,它被用来存储几乎所有的东西。1.2.1 数据结构HashTable数据结构定义如下:typedef struct bucket { ulong h; // 存放hash uint nKeyLength; void *pData; // 指向value,是用户数据的副本 void *pDataPtr;转载 2013-04-27 17:59:28 · 905 阅读 · 0 评论 -
php缓冲 output_buffering
bufferbuffer是一个内存地址空间,Linux系统默认大小一般为4096(4kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的设备之间传办理数据的区域。通过buffer,可以使进程这间的相互等待变少。这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时候,你每输入一个字符,操作系统并不会立即把这个字符直接写入到磁盘,而是先写入到buffer,当写满了一个buffe原创 2013-06-07 17:40:15 · 1683 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-控制器超级类Controller.php
Controller.php--控制器超级类<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');//CodeIgniter控制器超级类class CI_Controller { private static $instance; //构造函数 public function原创 2013-06-03 16:27:54 · 1145 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-公用函数文件Common.php
Common.php公用函数文件<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');//判断正在使用的PHP的版本号是否高于你所提供的 version_number //如果已安装的PHP版本号等于或高于你所提供的版本号,本函数将返回布尔值 TRUE。如果安装的PHP版本号低于你所提供的原创 2013-05-30 15:12:19 · 992 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-路由文件Router.php
Router.php--CI路由文件<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');//URI解析和路由class CI_Router { //config类 var $config; //路由数组 var $routes = array(); //错误路由数组原创 2013-06-03 10:48:02 · 2596 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-URI解析文件URI.php
URI.php--URI类提供了帮助你分割URI字符串的函数集合。如果你使用URI路由功能,那么你就可以通过分段来重新分发地址栏信息。<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class CI_URI { //缓存的URI分段数组 var $keyval = array()原创 2013-06-03 10:14:36 · 1674 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-Utf8转码文件Utf8.php
Utf8.php--Utf8转码文件<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class CI_Utf8 { function __construct() { log_message('debug', "Utf8 Class Initialized"); gl原创 2013-05-30 16:01:05 · 985 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-配置文件Config.php
Config.php管理配置文件的类<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class CI_Config { //所有的配置项的数组 var $config = array(); //所有的配置文件的数组 var $is_loaded = array(); //所原创 2013-05-30 15:54:40 · 1773 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-钩子文件Hooks.php
Hooker.php --- 钩子文件<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class CI_Hooks { //钩子启用/停用标记 var $enabled = FALSE; //配置文件中定义的所有钩子 var $hooks = array(); /原创 2013-05-30 15:29:58 · 1113 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-监控文件Benchmark.php
Benchmark.php----基准测试类<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class CI_Benchmark { var $marker = array(); //设置标记 function mark($name) { $this->marker原创 2013-05-30 15:16:27 · 863 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-加载语言包Lang.php
Lang.php--加载语言包Lang.php<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class CI_Lang { var $language = array(); var $is_loaded = array(); function __construct()原创 2013-06-03 16:17:29 · 3495 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-输入数据处理文件Input.php
Input.php--输入数据处理文件Input.php<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class CI_Input { //用户ip地址 var $ip_address = FALSE; //用户浏览器地址 var $user_agent原创 2013-06-03 16:13:32 · 1122 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-安全文件Security.php
Security.php--安全过滤文件<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');//安全类class CI_Security { //URL随机哈希值 protected $_xss_hash = ''; //防csrf攻击的cookie标记的哈希值 p原创 2013-06-03 14:30:29 · 2067 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-输出文件Output.php
Output.php--输出文件<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');//输出文件class CI_Output { //输出结果 protected $final_output; //缓存时间 protected $cache_expiration = 0;原创 2013-06-03 11:10:11 · 1014 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-加载类Loader.php
Loader.php--加载文件类<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');//文件加载类class CI_Loader { // All these are set automatically. Don't mess with them. //输出缓存级别 protect原创 2013-06-03 17:26:27 · 2662 阅读 · 0 评论 -
在PHP中使用正则表达式进行查找替换
1. preg_match — 执行一个正则表达式匹配int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )搜索subject与pattern给定的正则表达式的一个匹配. pattern:要搜索的模式,原创 2013-06-09 10:46:19 · 4211 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-程序启动文件CodeIgniter.php
CodeIgniter.php----加载需要的类库,CI框架所有操作都在这里执行一个简单的页面需要加载的类库如下所示: [0] => D:\wamp\www\CodeIgniter_2.1.3\system\core\CodeIgniter.php [1] => D:\wamp\www\CodeIgniter_2.1.3\system\core\Common.php原创 2013-05-30 11:07:45 · 1696 阅读 · 0 评论 -
CodeIgniter 核心代码阅读-入口文件index.php
index.php----唯一入口文件<?php//定义程序运行环境,可选项:development、testing、productiondefine('ENVIRONMENT', 'development');//根据程序运行环境,设置错误报告级别if (defined('ENVIRONMENT')){ switch (ENVIRONMENT) { case 'd原创 2013-05-30 10:30:29 · 3700 阅读 · 0 评论 -
使用设计模式改善程序结构(一)
设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案。但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确、恰当的使用设计模式。 本文试图从另一个角度(设计模式的意图、动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够转载 2013-01-21 15:34:54 · 370 阅读 · 0 评论 -
PHP设计模式漫谈之迭代器模式
迭代器(Iterator)模式,它在一个很常见的过程上提供了一个抽象:位于对象图不明部分的一组对象(或标量)集合上的迭代。迭代有几种不同的具体执行方法:在数组属性,集合对象,数组,甚至一个查询结果集之上迭代。 在对象的世界里,迭代器模式要维持类似数组的功能,看作是一个非侵入性对象刻面(facet),Client类往往分离自真实对象实现,指iterator接口。只要有可能,我们可以给转载 2013-01-21 14:46:49 · 374 阅读 · 0 评论 -
判断php数组是否索引数组
HP没有内置判断是否索引数组的方法,简单实现了一个,用法: echo is_assoc($array)?'索引数组':'不是索引数组';is_assoc函数如下: function is_assoc($array) { if(is_array($array)) { $keys = array_keys($array);转载 2013-01-29 14:59:06 · 1974 阅读 · 0 评论