编程技巧 - 文章列表
-
PHP一些常用的正则表达式
匹配中文字符的正则表达式: [u4e00-u9fa5] 匹配双字节字符(包括汉字在内): [^x00-xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) \nString.prototype.len=function(){return this.replace([^x00-xff]/g,”aa”).length;}
-
PHP读取汉字点阵数据
背景知识:\n 简体中文国标字库(1981年订,中国大陆)。7445个字符,其中汉字6773个,包括一级汉字3755个,二级汉字3008个。采用2字节(16位二进制)编码。 \n 区位码:国标GB2312规定,所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个”区”,每一列称为一个”位”,因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的”区位码”。在汉字的区位码中,高两位为区号,低两位为位号。由此可见,区位码与汉字或符号之间是一一对应的
-
UPDATE注射(mysql+php)的两个模式
一.测试环境: OS: Windowsxp sp2 php: php 4.3.10 ( mysql 4.1.9 apache 1.3.33 二.测试数据库结构:—–start— – 数据库: test – – ——————————————————– – R
-
PHPUnit袖珍指南之PHPUnit的目的
到此为止,我们只有两个对Array和内建函数sizeof()的测试。当我们开始测试大量的array_*()函数时,每个都需要一个测试。我们可以每个都从头写起。但是,更好的方法是一次性写好一个测试基础构架,以后就只用写每个测试不同的部分。PHPUnit就是这样一个基础构架。 例5展示了如何用PHPUnit重写例4中的两个测试。 例5. 用PHPUnit测试 Array和sizeof().\n<?php require_once ‘PHPUnit2/Framework/TestCase.php’; class ArrayTest extends PHPUnit2_Fr
-
利用PHP的OOP特性实现数据保护
在PHP 4中,声明变量通常使用var,而在PHP 5中,可使用面向对象编程(OOP)的特性来自定义数据的可见性–即可访问性,可见性在此与变量作用域非常类似,但提供了更好的控制机制,有以下三种类型的可见性修饰符: Public(默认)–变量可在全局范围内访问或修改。 Protected–变量只能在类本身及直接派生(使用extends语句)类内访问或修改。 Private–变量只能在类内部访问或修改。 与接口实现类似,在程序中违反这些规则将会导致严重的错误;且与接口类似的是,它们的存在纯粹是为了方便程序员。但这并不意味着可以忽略它们,指定
-
[GD]生成bmp格式的图片(imagebmp)
GD库里没有生成bmp图片的函数,所以自己写了一个,这个函数尚有一个压缩算法没有写,不过已经够用了。需要的同学可以看看。\nint imagebmp ( resource image [, string filename [, int bit [, int compression]]] )\nim: 图像资源filename: 如果要另存为文件,请指定文件名,为空则直接在浏览器输出bit: 图像质量(1、4、8、16、24、32位)compression: 压缩方式,0为不压缩,1使用RLE8压缩算法进行压缩\n注意:这个函数仍然需要GD库的支持。\nDem\nim = imagecreate
-
用PHP生成自己的LOG文件
如果你的服务器不容许你读他的LOG文件,那你只好停下来分析你的访问者?做你自己的LOG文件吧! 你仅需做的事情是用PHP计算实际的点击次数,没有错误,没有象’304 Not Modified’ 和 ‘Internal Server Error’ 一样的错误。你的代码将生成自己的LOG文件。 <?php /* 用户定义变量 */ logfile = “clf.log”; /*LOG文件写到那里 */ timezone = “+0100″; /* Timezone correction */
-
整理显示照片exif信息
中文方式显示照片EXIF信息,显示图片中所略图 这东西除了一些php论坛简单显示三两信息,别人的lb5000论坛上看到过显示,asp的也有不过很久没接触看着晕。 不想重复劳动,搜过google,除了asp没找到其他开源的显示exif的,所以整理出来或许有用。 没什么技术含量,基本只是汉化和资料整理的工作,以下代码为主要部分,所有文件在压缩包内,可以广泛用于相册和论坛显示图片信息的插件,希望熟悉相关知识的朋友找找bug或者加以优化。 目前应该缺不少信息,如果单单使用应该足够了。 —————————————————— 看到过别人传过来的照片里面有缩略图,photoshop做的,但是不知道怎么加进去
-
PHPUnit袖珍指南之安装PHPUnit
到此PHPUnit可以通过PHP扩展和程序库(PEAE)获得。PEAR是可重用PHP组件的框架和分发系统。安装PHPUnit可以通过PEAR安装程序命令获得: pear install PHPUnit2 根据PEAR的版本命名标准,适用于PHP5的PHPUnit包称为PHPUnit2。PHPUnit是适用于PHP4的包,这在本书后面关于“在PHP4中使用PHPUnit”一章会提到。 安装只有,能够在本地的PEAR目录中找到PHPUnit的源代码,路径通常是/usr/lib/ php/PHPUnit2。 尽管使用PEAR安装程序是PHPUnit唯一支持的安装方法,但你还是可以手工安装。要手
-
模板用xml的思路
前段时间,一直比较关心php的模板技术的我,接到了客户的要求:全站利用模板技术,可以控制多模板,这个项目要求有强大的后台,主要是多模板,难点就在模板的导入和识别并且生成上,我仔细考察了php的模板核心技术,无外乎查找字符串开始,然后定义替换变量,替换成数据,然后并成输出页输出,牵扯到的缓存我就不再说了.我们来看看这种方式的生成方式的缺点:如果要”多样式”的显示数据,当然我先不说CSS,不能真正的把数据和表示分离,无外乎利用css样式表方式显示而已,我们现在接到的这个项目不但要求css样式表的可选化,而且要求数据显示的”多方式”,打个比方,看下图: