出时代的串珠应用专家IntoDigi.com

2012 年 11 月 15 日5810

·PHP 编码规范(28)(2005-05-18)

10 代码范例

/*  * @(#)Cngift.php 1.82 03/06/25  *  * 开花石头编写的示例文档  * 将对编码规范做简单的示范  *  */

require( “db.php” );

/**  * 示范用类  *  * @version 1.82 0……

·PHP 编码规范(27)(2005-05-18)

9.3.4 运算符?前的表达式

如果一个包含二元运算符的表达式出现在三元运算符 ? : 的?之前,那么应该给表达式添上一对圆括号。例如: (x >= 0) ? x : -x;

9.3.5 特殊注释

在注释中使用XXX来标识某些未实现(bogus)的但可以工作(wo……

·PHP 编码规范(26)(2005-05-18)

9.3.3 返回值

设法让你的程序结构符合目的。例如: if (booleanExpression) {   return true; } else {   return false; } 应该代之以如下方法: return booleanExpression; 类似地: if (con……

·PHP 编码规范(25)(2005-05-18)

9.3 大括号

在三种主要的大括号放置规则中,有两种是可以接受的,如下的第一种是最好的: 将大括号放置在关键词下方的同列处: if (condition) {   ...   while (condition)   {     ...    } } 传统的UNIX的括号规则是,首括号……

·PHP 编码规范(24)(2005-05-18)

9.3.1 圆括号

一般而言,在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题,是个好方法。即使运算符的优先级对你而言可能很清楚,但对其他人未必如此。你不能假设别的程序员和你一样清楚运算符的优先级。 if ($a == $b && $c == $d) // 错误 i……

·PHP 编码规范(23)(2005-05-18)

9.1 常量

位于for循环中作为计数器值的数字常量,除了-1,0和1之外,不应被直接写入代码。

9.2 变量赋值

避免在一个语句中给多个变量赋相同的值。它很难读懂。例如: $fooBar.fChar = $barFoo.lchar = c; // 错误 不要将赋值运算符用……

·PHP 编码规范(22)(2005-05-18)

8.4 变量

除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。 变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性……

·PHP 编码规范(21)(2005-05-18)

8.3 函数

方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。 function run(); function runFast(); function getBackground();

通常每个方法都是执行一个动作的,所以对它的命名应该清楚的说明……

·PHP 编码规范(20)(2005-05-18)

8.1 命名空间

一个唯一命名空间的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,org,或1981年ISO 3166标准所指定的标识国家的英文双字符代码。命名空间的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目……

·PHP 编码规范(19)(2005-05-18)

7.2 空格

下列情况应该使用空格: - 一个紧跟着括号的关键字应该被空格分开,例如: while ( true ) { ... } 注意:空格不应该置于方法名与其左括号之间。这将有助于区分关键字和方法调用。 - 空白应该位于参数列表中逗号的后面 - 所有的二元运算符,除了.,应该使用空格……

·PHP 编码规范(18)(2005-05-18)

7.1 空行

空行将逻辑相关的代码段分隔开,以提高可读性。 下列情况应该总是使用两个空行: - 一个源文件的两个片段(section)之间 - 类声明声明之间 下列情况应该总是使用一个空行: - 两个方法之间 - 方法内的局部变量和方法的第一条语句之间 - 块注释或单行注释之前 - 一……

·PHP 编码规范(17)(2005-05-18)

6.9 try...catch语句

一个try-catch语句应该具有如下格式: try {   statements; } catch (ExceptionClass e) {   statements; } 一个try-catch语句后面也可能跟着一个finally语句,不论try代码……

·PHP 编码规范(16)(2005-05-18)

6.8 switch语句

一个switch语句应该具有如下格式: switch (condition) {   case ABC:   /* falls through */     statements;   case DEF:    statements;    break;

……

·PHP 编码规范(15)(2005-05-18)

6.5 for语句

一个for语句应该具有如下格式:

for (initialization; condition; update) {   statements; }

一个空的for语句(所有工作都在初始化,条件判断,更新子句中完成)应该具有如下格式:

for (……

·PHP 编码规范(14)(2005-05-18)

6 if与else语句

if-else语句应该具有如下格式:

if (condition){ /* 进行操作的条件 */   statements; }

if (condition) {/*进行操作的条件. */   statements; } else {/*进行操作的条件*……

·PHP 编码规范(13)(2005-05-18)

6.3 返回语句

一个带返回值的return语句不使用小括号(),除非它们以某种方式使返回值更为显见。例如:

return;

return myDisk.size();

return ($size ? $size : $defaultSize); ……

·PHP 编码规范(12)(2005-05-18)

6.1 简单的语句

每行至多包含一条语句,例如:

$argv++; // 正确的 $argc--; // 正确的 $argv++; $argc--; // 错误的

6.2 复合语句

复合语句是包含在大括号中的语句序列,形如{ 语句 }。例如下面各段。

- 被括其……

·PHP 编码规范(11)(2005-05-18)

5.4 类的声明

当编写类时,应该遵守以下格式规则:

- 在方法名与其参数列表之前的左括号(间不要有空格 - 左大括号{位于声明语句同行的末尾 - 右大括号}另起一行,与相应的声明语句对齐,除非是一个空语句,}应紧跟在{之后

class Sample extends Objec……

·PHP 编码规范(10)(2005-05-18)

5.2 初始化

尽量在声明局部变量的同时初始化。唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算。

5.3 布局

只在代码块的开始处声明变量。(一个块是指任何被包含在大括号{和}中间的代码。)不要在首次用到该变量时才声明之。这会把注意力不集中的程序员搞糊涂,同时会妨碍……

·PHP 编码规范(9)(2005-05-18)

5.1 每行声明的变量数量

推荐一行一个声明,因为这样以利于写注释。亦即,

int $level; // 缩进的程度 int $size; // 由制表符决定

要优于,

int $level, $size;

不要将不同类型变量的声明放在同一行,例如:

i……

·PHP 编码规范(8)(2005-05-18)

4.5 文档注释

文档注释描述php的类、构造器,方法,以及字段(field)。每个文档注释都会被置于注释定界符/**...*/之中,一个注释对应一个类或成员。该注释应位于声明之前:

/**  * 说明这个类的一些 ... */ class Example { ...

注意顶……

·PHP 编码规范(7)(2005-05-18)

4.4 行末注释

注释界定符//,可以注释掉整行或者一行中的一部分。它一般不用于连续多行的注释文本然而,它可以用来注释掉连续多行的代码段。以下是所有三种风格的例子:

if ($foo > 1) {

  // 第二种用法.   ... } else {   return f……

·PHP 编码规范(6)(2005-05-18)

4.2 单行注释

短注释可以显示在一行内,并与其后的代码具有一样的缩进层级。如果一个注释不能在一行内写完,就该采用块注释。单行注释之前应该有一个空行。以下是一个代码中单行注释的例子:

if (condition) {

  /* 以下代码运行的条件 */   ... } 4.3……

·PHP 编码规范(5)(2005-05-18)

3.6 换行

当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之:

- 在一个逗号后面断开 - 在一个操作符前面断开 - 宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开 - 新的一行应该与上一行同一级别表达式的开头处对齐 - 如……

·PHP 编码规范(4)(2005-05-18)

3.4 缩进排版

4个空格常被作为缩进排版的一个单位。缩进的确切解释并未详细指定(空格 vs. 制表符)。一个制表符等于8个空格(而非4个),所以在某些编辑器中,需要特别指定一下制表符的长度为4(UltraEdit),而在某些编辑器中,会将制表符转换为空格 3.5 行长度

尽量避免……

·PHP 编码规范(3)(2005-05-18)

3.2 引入语句

引入语句应该位于文件的头部,并在引入时说明引入文件的作用。例如:

//数据库操作类 require( “db.php” ); 3.3 类的声明

1 类文档注释(/**……*/) 该注释中所需包含的信息,参见文档注释 2 类的声明 3 类实现的注释(/*…………

·PHP 编码规范(2)(2005-05-18)

3.1 开头注释

所有的源文件都应该在开头有一个C语言风格的注释,其中列出类名、功能、版本信息、日期、作者和版权声明:

/*  * 类名  * 功能  * 版本  * 日期  * 作者  * 版权  */ 如果对文件进行了修改,应该在文件头中说明修改目的、修改日期、修改人,并变更文……

·PHP 编码规范(1)(2005-05-18)

1 文件结构

| |――images |――include   |――parameter   |――config   |――function |――index images存放图片文件,include中是系统是要引用的文件,一般在parameter中存放参数文件,config中存放配置文件……

·PHP安全配置(4)(2005-05-18)

四、其他安全配置 1、取消其他用户对常用、重要系统命令的读写执行权限 一般管理员维护只需一个普通用户和管理用户,除了这两个用户,给其他用户能够执行和访问的东西应该越少越好,所以取消其他用户对常用、重要系统命令的读写执行权限能在程序或者服务出现漏洞的时候给攻击者带来很大的迷惑。记住一定要连读的……

·PHP安全配置(3)(2005-05-18)

5、文件上传 php的文件上传机制是把用户上传的文件保存在php.ini的upload_tmp_dir定义的临时目录(默认是系统的临时目录,如:/tmp)里的一个类似phpxXuoXG的随机临时文件,程序执行结束,该临时文件也被删除。PHP给上传的文件定义了四个变量:(如form变量名是file……

·PHP安全配置(2)(2005-05-18)

三、PHP本身的安全配置 PHP的配置非常灵活,可以通过php.ini, httpd.conf, .htaccess文件(该目录必须设置了AllowOverride All或Options)进行设置,还可以在脚本程序里使用ini_set()及其他的特定的函数进行设置。通过phpinfo()和ge……

·PHP安全配置(1)(2005-05-18)

一、Web服务器安全 PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安全又必须是先保证系统安全,这样就扯远了,无穷无尽。PHP可以和各种Web服务器结合,这里也只讨论Apache。非常建议以chroot方式安装启动Apache,这样即使Apach……

·第十五Zend引擎的发展 —— Classes and Objects in PHP5 15:(2005-05-18)

第十五节--Zend引擎的发展 本章的最后一节,Zeev讨论了Zend引擎带来的对象模型,特别提到它与PHP的前几个版本中的模型有什么不同. 当1997年夏天,我们开发出PHP3, 我们没有计划要使PHP具备面向对象的能力. 当时没有任何与类和对象有关的想法. PHP3是一个纯粹面向过程的语言……

·第十四命名空间 —— Classes and Objects in PHP5 14:(2005-05-18)

第十四节--命名空间 命名变量,函数和类是挺困难的,除了要考虑到变量的名称要易于理解,还要担心是否这个名称在其他某个地方已经使用过. 在一小段脚本中,第二个问题是基本问题. 当你考虑重用你的代码, 在这之后的项目代码必须避免使用你用过的命名. 通常来说,可重用的代码总是包含在函数或类中, 需要……

·第十三对象串行化 —— Classes and Objects in PHP5 13:(2005-05-18)

第十三节--对象串行化 串行化可以把变量包括对象,转化成连续bytes数据. 你可以将串行化后的变量存在一个文件里或在网络上传输. 然后再反串行化还原为原来的数据. 你在反串行化类的对象之前定义的类,PHP可以成功地存储其对象的属性和方法. 有时你可能需要一个对象在反串行化后立即执行. 为了这……

·第十二类的自动加载 —— Classes and Objects in PHP5 12:(2005-05-18)

第十二节--类的自动加载 当你尝试使用一个未定义的类时,PHP会报告一个致命错误. 解决方法就是添加一个类,可以用include包含一个文件. 毕竟你知道要用到哪个类. 但是,PHP提供了类的自动加载功能, 这可以节省编程的时间. 当你尝试使用一个PHP没有组织到的类, 它会寻找一个__aut……

·第十一重载 —— Classes and Objects in PHP5 11:(2005-05-18)

第十一节--重载 PHP4中已经有了重载的语法来建立对于外部对象模型的映射,就像Java和COM那样. PHP5带来了强大的面向对象重载,允许程序员建立自定义的行为来访问属性和调用方法. 重载可以通过__get, __set, and __call几个特殊方法来进行. 当Zend引擎试图访问……

·第十抽象方法和抽象类 —— Classes and Objects in PHP5 10:(2005-05-18)

第十节--抽象方法和抽象类 面向对象程序通过类的分层结构构建起来. 在单重继承语言如PHP中, 类的继承是树状的. 一个根类有一个或更多的子类,再从每个子类继承出一个或更多下一级子类. 当然,可能存在多个根类,用来实现不同的功能. 在一个良好设计的体系中,每个根类都应该有一个有用的接口, 可以……

·第九绑定 —— Classes and Objects in PHP5 9:(2005-05-18)

第九节--绑定 除了限制访问,访问方式也决定哪个方法将被子类调用或哪个属性将被子类访问. 函数调用与函数本身的关联,以及成员访问与变量内存地址间的关系,称为绑定. 在计算机语言中有两种主要的绑定方式—静态绑定和动态绑定. 静态绑定发生于数据结构和数据结构间,程序执行之前. 静态绑定发生于编……

·第八访问方式 —— Classes and Objects in PHP5 8:(2005-05-18)

第八节--访问方式 PHP5的访问方式允许限制对类成员的访问. 这是在PHP5中新增的功能,但在许多面向对象语言中都早已存在. 有了访问方式,才能开发一个可靠的面向对象应用程序,并且构建可重用的面向对象类库. 像C++和Java一样,PHP有三种访问方式:public,private和pro……

·第七类的静态成员 —— Classes and Objects in PHP5 7:(2005-05-18)

第七节--类的静态成员 类的静态成员与一般的类成员不同: 静态成员与对象的实例无关,只与类本身有关. 他们用来实现类要封装的功能和数据,但不包括特定对象的功能和数据. 静态成员包括静态方法和静态属性. 静态属性包含在类中要封装的数据,可以由所有类的实例共享. 实际上,除了属于一个固定的类并限……

·第六访问属性和方法 —— Classes and Objects in PHP5 6:(2005-05-18)

第六节--访问属性和方法 一个对象实例的属性是变量,就像PHP的其他变量一样. 但是你必须使用->运算符来引用它们. 不需要在属性前使用美元符$. 例如, 6.1中打印User对象的name属性那一行. 可以联用->,如果一个对象的属性包含了一个对象,你可以使用两个->运……

·第五克隆 —— Classes and Objects in PHP5 5:(2005-05-18)

第五节--克隆 PHP5中的对象模型通过引用来调用对象, 但有时你可能想建立一个对象的副本,并希望原来的对象的改变不影响到副本 . 为了这样的目的,PHP定义了一个特殊的方法,称为__clone. 像__construct和__destruct一样,前面有两个下划线. 默认地,用__clo……

·第四构造函数和析构函数 —— Classes and Objects in PHP5 4:(2005-05-18)

第四节--构造函数和析构函数 如果你在一个类中声明一个函数,命名为__construct,这个函数将被当成是一个构造函数并在建立一个对象实例时被执行. 清楚地说,__是两个下划线. 就像其他任何函数一样,构造函数可能有参数或者默认值. 你可以定义一个类来建立一个对象并将其属性全放在一个语句(s……

·第三定义一个类 —— Classes and Objects in PHP5 3:(2005-05-18)

第三节--定义一个类 当你声明一个类,你需要列出对象应有的所有变量和所有函数—被称为属性和方法. 3.1.1中显示了一个类的构成. 注意在大括号({})内你只能声明变量或者函数. 3.1.2中显示了如何在一个类中定义三个属性和两个方法. 3.1.1 class Name extends A……

·第二PHP5 的对象模型 —— Classes and Objects in PHP5 2:(2005-05-18)

第二节--PHP5 的对象模型 PHP5有一个单重继承的,限制访问的,可以重载的对象模型. 本章稍后会详细讨论的”继承”,包含类间的父-子关系. 另外,PHP支持对属性和方法的限制性访问. 你可以声明成员为private,不允许外部类访问. 最后,PHP允许一个子类从它的父类中重载成员. /……

·第一面向对象编程 —— Classes and Objects in PHP5 1:(2005-05-18)

第一节--面向对象编程 面向对象编程被设计来为大型软件项目提供解决方案,尤其是多人合作的项目. 当源代码增长到一万行甚至更多的时候,每一个更动都可能导致不希望的副作用. 这种情况发生于模块间结成秘密联盟的时候,就像第一次世界大战前的欧洲. //haohappy注:喻指模块间的关联度过高,相互……

·用PHP实现登陆验证码(类似条行码状)(2005-05-18)

<?php

function UPCAbarcode($code) { $lw = 2; $hi = 100; $Lencode = array(0001101,0011001,0010011,0111101,0100011, 0110001,0101111,0111011,01……

·php做饼图的函数(2005-05-18)

######## bimage.php3 ######## <? /* 函数说明 $chartdata:数据,是数组元素 $chartfont:字号 $chartdiameter:决定饼的大小(要看你饿不饿了,呵呵) $chartlabel:标题,也是数组元素 $color……

·PHP中显示格式化的用户输入(2005-05-18)

你可以在这个页面下载这个文档附带的文件,也可以在文件下载中的字符处理中下载这个文档描述如何安全显示的有格式的用户输入。我们将讨论没有经过过滤的输出的危险,给出一个安全的显示格式化输出的方法。 没有过滤输出的危险   如果你仅仅获得用户的输入然后显示它,你可能会破坏你的输出页面,如一些人能恶意……

·在PHP的图形函数中显示汉字(2005-05-18)

如何在PHP图形函数中显示汉字,大家已经问了很久了,但一直没有结果。终于在参考另一篇文章后,我试验出来了! 方法:   首先,决定要显示哪些汉字,如“计数器”这三个字。   到Word2000(97不知可不可以)中去,输入这三个字,另存为,选择编码格式,然后再在右边的编码类型里选择unico……

·PHP调用三种数据库的方法(3)(2005-05-18)

Oracle(甲骨文)是世界上最为流行的关系数据库。它是大公司推崇的工业化的强有力的引擎。我们先看看其相关的函数: (1)integer ora_logon(string user , string password) 开始对一个Oracle数据库服务器的连接。 (2)integer o……

·PHP调用三种数据库的方法(2)(2005-05-18)

开放数据库连接(ODBC)已成为一种与数据库进行通信的工业标准。PHP也提供了标准的接口,使得PHP能调用Access,SQL Server等数据库。其相关函数是: (1)integer odbc_connect(string dsn, string user, string password)……

·PHP调用三种数据库的方法(1)(2005-05-18)

 MySQL是一个小巧灵珑的数据库服务器软件,对于中、小型应用系统是非常理想的。除了支持标准的ANSI SQL语句外,最重要的是,它还支持多种平台,而在Unix/Linux系统上,MySQL支持多线程运行方式,从而能获得相当好的性能。它和PHP、Apache一样,是属于开放源代码软件。其官方网站是:……

·PHP文本数据库的搜索方法(2005-05-18)

searchstr=(/.preg_quote($searchstr)./); //$searchstr是查找的关键字 $records=file($file);//获取所有的记录数 //$file是查找的数据文件 $search_reocrds=preg_grep ($searchstr,……

·PHP下MAIL的另一解决方案(2005-05-18)

前一段时间我接触到DEC Tru64 Unix 我在上面装了PHP+APACHE,可以用提供的mail函数始终不能正常发信,于是自编了一个函数,它利用UNIX下的管道和PHP的SOCK函数进行发信,经过实验非常驻成功,下面是此函数原代码。 function mymail($mto,$mcc,$ms……

·PHP的历史和优缺点(2005-05-18)

 1 历史  Rasmus Lerdorf为了创建他的在线简历而创造了个人主页工具(Personal Home Page Tools)。这是一种非常简单的语言。其后越来越多的人们注意到了这种语言并对其扩展提出了各种建议。在许多人的无私奉献下以及这种语言本身的源代码自由性质,它演变成为一种特点丰富的……

·递归列出所有文件和目录(2005-05-18)

<?php /*我的程序在国外的SREVER上,自己编的程序存放到哪,我很难记清。 所以编了一个简单的目录递归函数,查看我的程序,很方便的。 */ function tree($directory) { $mydir=dir($directory); echo <ul&gt……

·PHP教程.经验技巧(下)(2005-05-18)

六、动态图像的创建   只要安装一些第三方的库文件并具有一定的几何知识,就可以利用PHP来创建和处理图像了。事实上,这不需要太多的几何知识,因为我大学没有毕业,仍然可以利用PHP创建图像。   在使用基本的图像创建函数之前,需要安装GD库文件。如果要使用与JPEG有关的图像创建函数,还需要安装……

·PHP教程.经验技巧(中)(2005-05-18)

三、文件是我们的朋友   无论你在开发的网站规模的大小,都应该意识到代码重用的重要性,无论这些代码是HTML、还是PHP代码。例如,你必须至少每年改变一次包含版权信息的页脚,如果你的网站含有1000个页面,每年修改一次也是个很烦人的事儿。   在PHP中,至少有几个函数可以帮助你实现代码重用的……

·PHP教程.经验技巧(上)(2005-05-18)

全球超过300万个互联网网站的管理员都在使用PHP,使得它成为最为普及的服务器端脚本语言之一。其特点是运行速度快、稳定可靠、跨平台,而且是开放源代码软件。随你使用的水平不同,PHP可以很简单,也可以很复杂,可以只使用它发送HTML表格元素,还可以在PHP应用程序中集成Java和XML。   如果……

·PHP脚本的8个技巧(8)(2005-05-18)

PHP和XML

  PHP包含支持Expat 解析器的可选XML扩展。PHP中和XML相关的函数可以让你创建一个解析器来处理有效的XML文档。如果你在使用的Apache版本在1.3.7之后,那你就不需要其他附加的函数库了。而你所需要做的只是配置PHP--with-xml。

  PH……

·PHP脚本的8个技巧(7)(2005-05-18)

PHP和Java

  PHP功能的另外一个高招是其调用已有Java对象的方法的能力,这种功能可以让你把PHP集成进已有的基于Java的应用程序。如果你正在你的工作场合推广PHP ,那你算找到可大吹特吹的靓点了,你知道,Java这玩艺儿无处不在。

为了用到这一功能,你需要在服务器上安装……

·PHP脚本的8个技巧(6)(2005-05-18)

PHP和COM

  如果你是一名冒险份子,而且你正在使用CGI、ISAPI或Apache模块版本的Windows系统上运行着PHP,那么你也可以获得系统的COM功能。现在,解释COM(微软的组件对象模型)的工作留给了微软和那些大部头的图书来完成。然而,知道点COM也没什么错,下面有一个普通的……

·PHP脚本的8个技巧(5)(2005-05-18)

采用PHP的用户认证

  如果你希望在每一个脚本的基础上实现口令保护功能,那么你可以联合使用header()函数和$PHP_AUTH_USER、$PHP_AUTH_PW全局变量来创造一个基本的认证方案。通常的、基于服务器的认证请求/响应回合很象下面这个样子:

1.用户向一台Web服务……

·PHP脚本的8个技巧(4)(2005-05-18)

动态创建图象

在安装了某些第三方函数库之后,结合你的图形处理技能,你就可以用PHP创建和处理图像了。事实上,你也不需要太高的几何学知识。我在中学的时候这门功课总是不及格,现在不也照样会用PHP创建图像!在使用基本的图像创建函数之前,你需要安装GD库。如果要用到和JPEG相关的图像创建函数你还……

·PHP脚本的8个技巧(3)(2005-05-18)

包含文件  

  如果你目前着手的Web站点开发项目规模较大,那你对代码重用必定深有体会,比方说,不管是HTML还是PHP代码块,只要项目足够大,比如有1000个Web页,你即便是一年只修改一次包含版权信息的页脚也会让你痛不欲生。

而PHP可以通过一些函数帮助你重用代码,你要具体用到……

·PHP脚本的8个技巧(2)(2005-05-18)

会话用法    PHP 4.0有一个一直为人所期待的特性,这就是PHP的会话(session)支持。相比之下,PHP 3.0的用户则不得不使用第三方的程序库或完全不能具备这项功能。缺乏会话支持能力是PHP最大的缺陷之一,也是它最受人指摘的地方。不过,随着会话支持从早期测试版本的PHP 4.0开始就成……

·PHP脚本的8个技巧(1)(2005-05-18)

把PHP安装为Apache DSO

  PHP 经常和Apache Web服务器一道用于Linux/Unix平台。当我们在Apache环境下安装PHP的时候,你有三种安装模式可供选择:静态模块、动态模块(DSO)和CGI。

  我建议你最好把PHP安装为Apached的DSO ,这……

·浅谈PHP语法(6)(2005-05-18)

上文(《谈谈PHP语法(3)》的最后提到了Cookie和Session,本文就这两种技术作一些介绍。   Cookie我们都常把它念成“库记”,也叫它“小甜点”。它是一种存储在客户浏览器中的一个小文件。它是为解决HTTP的一次连接而无崐记忆而发展起来的,可用来追踪使用者或是对重返的使用者进行确认……

·浅谈PHP语法(5)(2005-05-18)

上文中曾提到了PHP提交表单信息是很方便的。可是,提交的表单信息中的变量的生命周期是多长呢?本文就来崐谈谈这个问题。 表单的参数会传给下一个处理程序,这是不用置疑的。因为,我们曾有过这样的例子。可它还会继续传给下一个处理程序吗?

答案是否定的!一个Form表单所提交的参数只传给第一个处理程……

·浅谈PHP语法(4)(2005-05-18)

文件:deal.php <?php echo 你的用户名为:$uname; ?> 以上程序会要求用户输入一个用户名,提交表单后,后回用户名确认信息。可看出,表单中的uname已成为了deal.php程序中的$uname变崐量。简单吧。:-) 下面看看PHP的基本流程控制: ……

·浅谈PHP语法(3)(2005-05-18)

上一文《谈谈PHP语法》已谈了PHP的数据类型和表达式。现在,让我们来看看PHP的变量与常数。 让我们先看一例吧。

文件:test.php <?php //这是一种单行注释方法 #这是另一种单行注释方法 /*这是一种多行注释的方法 以下让我们看看例了吧*/ funti……

·浅谈PHP语法(2)(2005-05-18)

前文谈的只是PHP的数据类型,所谓“磨刀不误砍柴功”,打好PHP基础才能更好地学好PHP编程。   PHP中的表达式与运算符与C语言的差别不大,现将其列表于下: ┌─────┬─────────┬──────────┐ │ 符 号 │ 运算符 │ 范 例 │ ├─────┼────────……

·浅谈PHP语法(1)(2005-05-18)

PHP与C语言也有一些差别,或者说在某种程度上可能比C语言更为灵活。在C语言中,变量要先定义,才能使用。而PHP中变量则不需崐事先定义,直接使用即可。对于变量的类型,在赋值时自动生成。PHP变量的类型分为:整数(int)、双精度型(double)、字符串(string)、崐数组(array)、对象……

·PHP:MVC迷思(2005-05-18)

近来设计模式风行,MVC随处可见,PHP领域也不例外,很多论坛都开始讨论在PHP中使用MVC。然而,M、V、C在PHP中到底该如何实现?MVC真的适合PHP么?这里Easy给出一些自己的思考。

  MVC的原型

  MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界……

·正则表达式系统教程(七)(2005-05-18)

7. 正则表达式匹配规则   7.1 基本模式匹配   一切从最基本的开始。模式,是正规表达式最基本的元素,它们是一组描述字符串特征的字符。模式可以很简单,由普通的字符串组成,也可以非常复杂,往往用特殊的字符表示一个范围内的字符、重复出现,或表示上下文。例如:   ^once   这个……

·正则表达式系统教程(六)(2005-05-18)

6. 部分例子

正则表达式

说明

/\b([a-z]+) \1\b/gi

一个单词连续出现的位置

/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/

将一个URL解析为协议、域、端口及相对路径

……

·正则表达式系统教程(五)(2005-05-18)

5. 全部符号解释

字符

描述

\

将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,n 匹配字符 n。\n 匹配一个换行符。序列 \\ 匹配 \ 而 \( 则匹配 (。

^

……

·正则表达式系统教程(四)(2005-05-18)

4. 各种操作符的运算优先级   相同优先级的从左到右进行运算,不同优先级的运算先高后低。各种操作符的优先级从高到低如下:

操作符

描述

\

转义符

(), (?:), (?=), []

圆括号和方括号

……

·正则表达式系统教程(三)(2005-05-18)

3. 正则表达式定义   正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。   列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为……

·正则表达式系统教程(二)(2005-05-18)

2. 正则表达式的历史   正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。   1956 年, 一位叫 Stephen Kleene 的数学家在 Mc……

·正则表达式系统教程(一)(2005-05-18)

1. 引子   目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。

  正则表达式的使用,可以通过简单的办法来实现强大的功能。为了简单有效而又不失强大,……

·用PHP制作zip压缩程序(2005-05-18)

$z = new PHPZip(); //新建立一个zip的类

  方法一:

$z -> Zip(, out1.zip); //添加当前目录和子目录下的所有档案

  方法二:

$files=array(1.txt,gb.txt); $files[]=5.txt; $……

·十天学会php之第十天(2005-05-18)

学习目的:学会用PHP上传文件和发邮件

上传文件表单必须加上 enctype=multipart/form-data 和 <input type=file name=file> 下面看一下代码:

$f=&$HTTP_POST_FILES[file]; $dest_……

·十天学会php之第九天(2005-05-18)

学习目的:注意事项

因为我是先学ASP的,所以再做PHP的时候会发现很多地方需要适应。

1、注意不要漏了分号 2、注意不要漏了变量前的$ 3、使用SESSION的时候注意不要遗漏session_start();

如果发生错误的时候,可以采用以下方法: 1、如果是SQL语句出错,就……

·十天学会php之第八天(2005-05-18)

学习目的:做一个分页显示

关键就是用到了SQL语句中的limit来限定显示的记录从几到几。我们需要一个记录当前页的变量$page,还需要总共的记录数$num

对于$page如果没有我们就让它=0,如果有<0就让它也=0,如果超过了总的页数就让他=总的页数。

$execc=s……

·十天学会php之第七天(2005-05-18)

学习目的:学会SESSION的使用

SESSION的作用很多,最多用的就是站点内页面间变量传递。在页面开始我们要session_start();开启SESSION 然后就可以使用SESSION变量了,比如说要赋值就是:$_SESSION[item]=item1;要得到值就是$item1=$_……

·十天学会php之第六天(2005-05-18)

学习目的:学会添加删除修改数据

mysql_query($exec); 单这个语句就可以执行所有的操作了,不同的就是$exec这个sql语句

添加:$exec=insert into tablename (item1,item2) values (.$_POST[item1].,.$_……

·十天学会php之第五天(2005-05-18)

学习目的:学会读取数据

先看两个函数: 1、mysql_query 送出一个 query 字符串。 语法: int mysql_query(string query, int [link_identifier]); 返回值: 整数

本函数送出 query 字符串供 MySQL 做相关……

·十天学会php之第四天(2005-05-18)

学习目的:学会连接数据库

PHP简直就是一个函数库,丰富的函数使PHP的某些地方相当简单。建议大家down一本PHP的函数手册,总用的到。

我这里就简单说一下连接MYSQL数据库。

1、mysql_connect

打开 MySQL 服务器连接。 语法: int mysql……

·十天学会php之第三天(2005-05-18)

学习目的:学会构建数据库

在ASP中,如果是ACCESS数据库你可以直接打开ACCESS来编辑MDB文件,如果是SQL Server你可以打开企业管理器来编辑SQL Server数据库,但是在PHP中,MY SQL的命令行编辑可能会令初学者感到很麻烦,不要紧,你下载一个PHPMYADMIN安装……

·十天学会php之第二天(2005-05-18)

学习目的:掌握php的流程控制

1、if..else 循环有三种结构

第一种是只有用到 if 条件,当作单纯的判断。解释成 若发生了某事则怎样处理。语法如下:

if (expr) { statement }

其中的 expr 为判断的条件,通常都是用逻辑运算符号……

·十天学会php之第一天(2005-05-18)

以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序……

·多个域名绑定一个空间互不影响(2005-05-18)

上次发了一个ASP多个域名绑定一个空间互不影响 人气旺旺的。

<?php $domain_net=abc.com; $dot_net_url=bbs/; $dot_com_url=flash; if(($HTTP_HOST==$domain_net)or($HTTP_HOST==www……

·怎样在php中使用PDF文档功能(2005-05-18)

写给Hunte: 好久不在网上见你,真有点说不出来的感觉,没有hunte的phpuser.com什么也不是. 转了你站上的两篇文章, 特翻了一篇了以示致歉.

---------------------------------------------------- 原作者:P……

·一个个人网页自动化生成系统(3)(2005-05-18)

网站管理,文件名:guanli.php <html> <head> <title>Untitled Document</title> <meta http-equiv=Content-Type content=text/html; cha……

·一个个人网页自动化生成系统(2)(2005-05-18)

模板提交,文件名:muban.php <html> <head> <title>Untitled Document</title> <meta http-equiv=Content-Type content=text/html; char……

·一个个人网页自动化生成系统(1)(2005-05-18)

当你希望用本系统创建你的个人主页之前,笔者相信你已经配置好了相关的阿帕奇服务器,MYSQL数据库,以及php。 接着启动你的mysql数据库,建立一个名为study的数据库,建立一个名为wenzhang的表。 在phpMyAdmin下建立如下字段:

id smallint(5) N……

·让你同时上传 1000 个文件(2005-05-18)

预备知识:Javascript, PHP(少量)/Perl(少量)! 测试环境:Windows2000 + IIS5 + PHP (Win98 + PWS + PHP3 失败,估计是配置出了问题) 目录结构: /wwwroot/cgi-bin/fileup.php (文件接收) /wwwro……

0 0