- 利用 .HTACCESS 启用 GZIP 压缩静态内容 12-05-30
- 为了优化网站的访问速度,我们可以通过对静态内容进行压缩,从而减少网页加载的时间,大大节省用户的带宽。在这篇文章中,我将介绍如何使用 Apache 和.htaccess文件进行静态内容压缩。 首先让我介绍一下,我们可以使用两种不同的方法压缩内容: GZip 和 deflate 。 介绍...
- 详解php位运算 12-05-03
- php位运算 $a $b and(按位与) $a | $b or(按位或) $a ^ $b Xor(按位异或) ~$a Not(按位非) $a $b Shift left(左移) $a $b Shift right(右移) 详解 $a $b 按位与 把$a和$b中都为1的位设为1; 例:10 12 = 8 10 1010 12 1100 1000 8 $a | $b 按位或 把$a或$b中有一个为...
- 使用 Phalanger 整合 PHP 和 .Net 12-04-11
- Phalanger 是一种 PHP 语言编译器,也是针对 .NET 的 PHP 运行时。 它可以用于把 PHP web 项目编译成 .NET 字节码,并在 Windows 中使用 IIS 或者在 Linux 上使用 Mono 和 Apache 作为 ASP.NET 应用程序来执行。 然而,Phalanger 不仅仅是把已经存在的 PHP 应用编译到...
- php使用__autoload()自动加载类 12-04-05
- 在大的项目中,不可能把所有的类都写在一个php文件,当在一个php文件中需要市调用另一个文件中实现的类时.就需要通过include把这个文件引入,不过有的时候,大的项目中文件众多,要一一将所有需要要的类include进来,还真是让人头痛,鉴于此,php5提供了__autoload()来解决这个...
- 分布式存储Memcache替代Session方案 12-03-09
- PHP自带的Session实际是在服务器中为每个客户建立独立的文件存放各自的信息。 在不做处理的情况下,很容易被客户端伪造。并且由于采用文件形式,所以存在着IO 读写的瓶颈。一般当用户在线达到1000左右时,就会出现访问速度明显下降的问题。 Memcache是应用层级的缓存,...
- 常见php数据库抽象层介绍 12-03-09
- 本章着重讲述PHP数据库抽象层与数据库抽象类。 目前,在PHP的网站及众多书籍中,很少讲到数据库抽象层,有的PHP开发者虽然已做了几年开发工作,但似乎也没有意识到它的存在。 很多人并不理解数据抽象的重要性,也不了解mysql或mysqli扩展与PDO的区别,PDO与ADODB又有什...
- php数据库抽象类PDO和ADODB简介 12-03-09
- PHP数据库抽象层与数据库抽象类 1 什么是数据库抽象层 2 常用的数据库抽象层 3 数据库抽象层ADODB-实例 PHP数据库抽象层与数据库抽象类 目前,在PHP的网站及众多书籍中,很少讲到数据库抽象层,有的PHP开发者虽然已做了几年开发工作,但似乎也没有意识到它的存在。 很...
- pdo、pdo_mysql、mysqli扩展的启用方法 12-03-09
- 一、环境 LAMP都是源码安装,PHP安装的时候没有配置pdo_mysql和mysqli,pdo是php5默认带的。 PHP5的源码都在,只需要把php5的模块功能扩展就可以了。 php源码目录:/usr/local/src/php-5.2.10 php安装目录:/usr/local/php/ php源码配置文件:/usr/local/php/bin/php-c...
- php的异步http请求类 11-12-05
- 如下,在request的时候能够定义请求完成之后的callback函数。 注:需要依赖Zend框架 ?php $base = event_base_new(); $uri = http://www.baidu.com/; $config = array( 'eventbase' = $base ); for($i = 0; $i 10; $i++) { $client = new AsyncHtt...
- PHP stream未能及时清理现场导致Core的bug 11-12-05
- 同事发现一个在使用set_error_handler的时候, 能100%重现的core, 提炼后的重现代码如下(环境必须不能访问internet): ?php function err_handler(){ exit; return true; } set_error_handler('err_handler'); $client = file_get_contents(http://www.la...
- PHP在线解压缩的工具PHPUnZip 11-11-12
- 如果要把一个包含很多文件的文件夹上传到服务器,这个文件夹可能是一个CMS,如果直接上传,不论是使用PHP还是FTP,上传的时间都是相当长的,因为这个文件夹包含的文件数量很大,尽管文件可能很小,但每个文件都要建立一次连接,这加起来的时间是很可怕的。通常,我们使...
- PHP Perl 兼容正则表达式函数列表 11-10-29
- 简介 Perl 兼容正则表达式函数中所使用的模式极其类似 Perl。表达式应被包含在定界符中,如斜线(/)。任何不是字母、数字或反斜线()的字符都可以作为定界符。如果作为定界符的字符必须被用在表达式本身中,则需要用反斜线转义。自 PHP 4.0.4 起,也可以使用 Perl...
- 防止伪造跨站请求的小招式 11-09-02
- 伪造跨站请求介绍 伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。这种攻击常见的表现形式有: 伪造链接,引诱用户点击,或是让用户在不知情的情况下访问 伪造表单,引诱用户提交。表单可以是隐藏的,用图片或链接...
- GIF动画缩略图实现 11-08-30
- 缩略图是个很常用的功能。它的实现并不复杂,但如果原图是GIF动画的话,问题就会变得繁琐一点,下面通过一个取自CS警匪游戏的GIF动画来说明问题: old.gif 为了让问题更加清晰,我们先还原动画各帧: 选择一:用PHP中的Imagick模块: ?php $image = new Imagick( 'old.g...
- 使用Imagick实现图像直方图 11-08-29
- 玩过单反相机的人应该都知道图像直方图(Image Histogram),简单点说,它通过计算每个色阶在总像素中所占的比例来反映图像的曝光情况。我并不打算详细解释专业名词,有兴趣的读者可以查阅文章结尾处的参考链接,那里有通俗易懂的解释: 我们先找一个例子图像(用Canon 55...
- Facebook发布又一PHP改进项目 XHP 11-08-29
- 就在Google高调发布业界普遍认为针对Facebook的Buzz的同时,Facebook则低调发布了XHP项目。这是一个多月以来,继HipHop之后,Facebook推出的又一重要PHP改进项目。看来,在社会化网络市场地位稳固之后,Facebook也开始大力回馈技术社区,在口碑和攒人品方面与Google展...
- 在Android上用PHP编写应用- PFA初探 11-08-29
- 作者:蒋宇捷(hfahe) 版权声明:原创作品,欢迎转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。 概述 Android 上的主要开发语言是 Java ,让很多 PHPer 觉得非常遗憾。但是自从 ASE ( Android Scripting Environment-Android 脚本环境)诞生后...
- Zend_Controller 基础 11-08-25
- Zend_Controller系统被设计为轻量、模块化、和可扩展的系统。虽然它提供了足够多的功能结构让你的系统建立在Zend_Controller之上并 Zend_Controller工作流用若干组件来实现。虽然不需要完全理解所有组件的基础知识来使用它,但是拥有工作流程的知识很有帮助。 Zend_Con...
- PDF格式文件函数库 11-08-22
- PDF 是 Adobe 所发展的可携式文件格式,它的文件可以在上传输、浏览,甚至使用印表机印出,或使用其它输出装置输出,都可以保存原来的文字及图片的编排。详细的信息可以参考 Adobe 的网站 。参考其中有关 PDF 或 Acrobat 的部份。 在 UNIX 系统中,可以使用 Thomas Mer...
- 5种php加密工具zendGuard、ionCube、SourceCop、SourceGuardian、phpShield 11-08-21
- Zend grard Zend Encoder 目前市价为 US$960、SafeGuard Suite 更是到 US$2,920 以上的天价,而且 US$2,920 还只能使用一年。但由于破解档流通快速,早期也是加密 PHP 的最佳解决方案,因此可以说是市占率第一名的 PHP 原始码加密软件,连虚拟主机商也为了要执行 Zend...
- PHP调用java的class 11-08-10
- 最近由于一个功能模块需要用到PHP调用java的class所以就研究了一下。 有2种方法 1、种是用php自身带的模块调用java(不过经过网友的证明发现这种方法不好)我没用。 2、通过php-java-bridge模块调用java。(经过网上普遍推荐)我使用了这张方法。 由于海底光缆断了我去...
- discuz论坛程序的PHP加密函数原理 11-07-30
- 康盛的 authcode 函数可以说对中国的PHP界作出了重大贡献。包括康盛自己的产品,以及大部分中国使用PHP的公司都用这个函数进行加密,authcode 是使用异或运算进行加密和解密。 原理如下,假如: 加密 明文:1010 1001 密匙:1110 0011 密文:0100 1010 得出密文0100 10...
- PHP 5.3的新增魔术方法 __invoke 11-07-27
- PHP5.3新增了一个叫做__invoke的魔术方法,这样在创建实例后,可以直接调用对象。 class testClass { public function __invoke { print hello world; } } $n = new testClass; $n(); 执行结果为: hello world。 官方示例 class CallableClass { public functi...
- 最全的PHP开发Android应用程序 11-07-16
- 第一部分是指在Android系统的手机上直接写PHP脚本代码并立即运行; 第二部分则继续讲解如何把写好的PHP脚本代码打包成akp安装文件。 首先,在手机上安装两个apk包。 一个是SL4A(Scripting Layer for Android),这个是Android的脚本环境,前身是ASE(Android Scriptin...
- 使用curl向WEB服务器提交文件 11-07-09
- curl提供了两种Post提交模式: 1。对Post内容进行url编码处理,将编码后的字符串传递给curl $post = array('k1'='v1','k2'='v2'); $tmp = array(); foreach($post as $k=$v){ $tmp[] = urlencode($k).=.urlencode($v); } $params = implode(,$tmp); $...
- PHP写入二进制文件 11-07-07
- php将字符串写入二进制文件,并读取文件的方法,网上找到,好像是小日本写的. 函数: unpack()/pack() function createFile(){ //新規フォルダー if(!is_dir($this-folderPath)){ mkdir($this-folderPath); } file_put_contents($this-folderPath./.$this-fileNam...
- PHP超级负载均衡 11-07-04
- 摘要 超级负载均衡旨在为解决服务不断扩展、机器不断增多、机器性能差异等问题,以增强系统的稳定性,自动分配请求压力。算法实现了多个模型和均衡策略,能通过配置实现随机、轮询、一致hash等。同时也能实现跨机房的相关分配。现已经在多个系统中使用。 TAG 负载均衡...
- 深入了解php底层机制 11-06-26
- 作为一门动态语言,php是如何实现的,其底层机制如何,具有什么样的特点,本文深入浅出介绍了包括php设计理念、整体结构、核心数据结构和变量在内的相关底层知识,对我们更好的开发php程序,优化性能等有一定的指导意义。 TAG Php 底层机制 性能优化 目录 1、概述 1 wh...
- Facebook的扩展Memcache实践Twitter的可伸缩性数据架构 11-06-25
- 1. memcache@facebook 演讲者是Marc,FB资深架构师,对memcache应该是有很强的hands on经验,对各种细节逻辑了解清楚且反应迅速。这个talk讨论了FB对memcache的大量修改和扩展,使得memcache能够有效的scale并 承载极高的流量。 扩展的逻辑之复杂度个人感觉已经超过了...
- Memcache基础教程 11-06-25
- Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个H...
- 大型网站架构演变和知识体系 11-06-25
- 之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇...
- 校内网CTO黄晶讲述网站架构变迁 11-06-25
- 每个网站的发展都会按照一个大致相同的路线去完成,当然这里说的是每个相对成功的网站。 第一阶段: 这一阶段没有太大的访问量,甚至只有一台服务器就搞定了所有的访问。DB和前端的代码全都在一起,压力不高。忆者注:我觉得在alexa没进五万的时候,只要不是特殊的应用...
- 豆瓣网CTO洪强宁讲述网站架构变迁 11-06-25
- 罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。洪强宁,2002年毕业于清华大学,现任北京豆瓣互动科技有限公司首席架构师。洪强宁和他带领的技术团队致力于用技术改善人们的文化和生活品质,在网站架构、性能、可伸缩性上进行深入研究。...
- 大型网站系统架构分析 11-06-25
- 千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性? 首先讨论一下大型网站需要注意和考虑的问题。 数据库海量数据处理 :负载量不大的情况下select、delete和update是响应很迅速的,最多加几个索引就可以...
- Memcache Functions 函数列表 11-06-25
- 1.Memcache::connect 1.1.说明 bool Memcache::connect ( string $host [, int $port [, int $timeout ]] ) 连接memcache服务器 1.2.参数 $host(string) 服务器域名或ip $port(int) 服务器tcp端口号,默认值是11211 $timeout 连接memcache进程的失效时间...
- memcache配置项详解 11-06-25
- memcache简介 memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问。 memcache也提供用于通信对话(session_handler)的处理。 更多Memcache 模块相关信息可以到 http://www.danga...
- memcache与memcached的区别与安装方法 11-06-23
- Memcache是什么? Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这...
- php中perl语法的正则模式修正符列表 11-06-22
- 正则表达式模式修正符 -- 解说正则表达式模式中使用的修正符 说明 下面列出了当前在 PCRE 中可能使用的修正符。括号中是这些修正符的内部 PCRE 名。修正符中的空格和换行被忽略,其它字符会导致错误。 i (PCRE_CASELESS) 如果设定此修正符,模式中的字符将同时匹配大小...
- Warning:preg_match() [function.preg-match]: Co 11-06-22
- 错误提示: bWarning/b: preg_match() [a href='function.preg-match'function.preg-match/a]: Compilation failed: PCRE does not support L, l, N, U, or u at offset 3 in bD:XXX.php/b on line b25/bbr / 错误原因: preg_...
- ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解 11-06-21
- ASCII字符集编码 ASCII码是7位编码,编码范围是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。 只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系...
- 对象构造时代码块和构造函数的执行次序 11-06-17
- 面向对象编程中,对象构造时代码块和构造函数的执行次序 1) 父类静态成员和静态初始化块 2)子类静态成员和静态初始化块 3)父类实例成员和实例初始化块 4)父类构造器 5)子类实例成员和实例初始化块 6)子类构造器...
- 大型高并发高负载网站性能解决方案 11-06-17
- 大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并发问题。 上面提供的...
- CodeIgniter 入门与简单应用 11-06-13
- CodeIgniter 是基于 MVC 的一套 PHP 快速开发工具包,之后什么什么就不多说了,直接切入正题。 首先你先下载一套开发包在下面就有下载,解压缩之后你会看到一个 system 文件夹和一个 index.php 文件。 打开 system/application 你就可以看到 7 个文件夹下面着重介绍一...
- PHPExcel导出excel方法 11-06-13
- 如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312: $yourStr = mb_convert_encoding(gb2312, UTF-8, $yourStr); 总结 php导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册 1:第一推荐无比风骚的PHPExcel...
- PHP生成Excel报表的方法 11-06-13
- PHP生成Excel报表,注意此方法依赖PEAR::Spreadsheet_Excel_Writer 类文件 ?php $path = '/usr/share/pear'; // 你自定义的 PEAR 路径 set_include_path(get_include_path() . PATH_SEPARATOR . $path); // 设置 PHP 环境变量路径为除 php.ini 默认的以外,...
- 利用PHPExcel导出 .xlsx .xls 档设定说明 11-06-13
- 最近找到一个不错的套件PHPExcel,这个套件解决我数据汇出的问题,以往我在汇出数据都是采用CSV文件,此种方法最简单,只要用逗号隔开就可轻易的汇出档案,但此种方法也有着很多的缺点,以下列举几个我比较常发生的缺点: 1.只能用于BIG5编码 2.数字前面为0,用excel...
- PHP 获得计算机CPU,网卡,MAC地址方法 11-06-06
- PHP获取计算机硬件的函数. 注:此方法使用的是php执行系统命令的函数system,exec等,要使用此函数你必须有执行系统命令的权限. //获取电脑的CPU信息 function OnlyU(){ $a = ''; $b = array(); if(function_exists('exec')){ if( mailto:!@exec ( /all,$b)){ return fals...
- PHP读取创建txt,doc,xls,pdf类型文件 11-06-06
- PHP读取或者创建txt,doc,xls,pdf各个类型文件的方法. php读取(文本.txt)文件: 一般是使用fopen、fgets的方法,例如: ?php $fp=fopen('文件名.txt','r'); for ($i=1;$i100;$i++) fgets($fp);//跳过前99行 $arr=array();//初始化数组 for ($i=0;$i100;$i++) $arr[]=f...
- php二种读取和创建word文档方法 11-06-06
- PHP操作word文档的二种方法 方法一:利用php com模块 。也即利用word提供的本地api,所有只适用于windows系统上。 view plaincopy to clipboardprint? ?php $word = new com('word.application') or die('无法打开word'); $word-Visiable = false; $doc_file = ...
- php.ini配置优化之安全篇 11-06-05
- 查找:disable_functions 找到后在=后面添加 (这里都是禁止在php里面执行的函数)代码: exec,system,passthru,error_log,ini_alter,dl,openlog,syslog,readlink,symlink,link,leak,fsockopen, proc_open,popepassthru,chroot,scandir,chgrp,chown...