November 21, 2008
php中$_request与$_post、$_get的区别
"php中有$_request与$_post、$_get用于接受表单数据,当时他们有何种区别,什么时候用那种最好。\n一、$_request与$_post、$_get的区别和特点\n$_REQUEST[]具用$_POST[] $_GET[]的功能,但是$_REQUEST[]比较慢。通过post和get方法提交的所有数据都可以通过$_REQUEST数组获得\n二、$_post、$_get的区别和特点\nget是从服务器上获取数据,post是向服务器传送数据。 get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量 …"
November 20, 2008
动态网页制作技巧PHP:详细彻底学习Smarty
"页面请求变量 以下是访问页面请求变量诸如get,post,cookies,server,enviroment和session变量的例子. 例如{$smarty.server.SERVER_NAME}取得服务器变量,{$smarty.env.PATH}取得系统环境变量path, {$smarty.request.username}取得get/post/cookies/server/env的复合变量。\n{$smarty.now}变量用于访问当前时间戳. 可以用 date_format调节器格式化输出. 例如{$smarty.nowdate_format:”%Y-%m-%d %H:%M:%S”}\n{$smarty.const} 你可以直接访问PHP常量. 例如{$smarty.const._MY_CONST_VAL}\n{$smarty.capture} 可以通过 {capture}..{/capture}结构 截取的输出可以使用{$smarty} 变量访问.\n{$smarty.config} {$smarty}变量 可以访问已经加载的config变量. …"
November 16, 2008
mysql数据库大小的限制
"使用PHP实现的程序.花了一个下午去完成…\n只是做出来让大家参考一下…献丑了….\n程序思路:\n一\\与MYSQL数据库结合.先在MYSQL数据库另起一个库.记录数据库的库名,对应的用户名,限制的大小.等…..\n二\\系统检测数据库大小,然后对比记录着的资料.对比是否超过流量.如果超过流量就使用MYSQL的ROOT权.限制用户对该数据库的权限…(删除UPDATE\\INST..等)\n三\\如果达到80%.就向管理员\\用户各发送一个EMAIL通知..\n四\\前台程序控制数据库资料的整理…\n系统分二个部份.\n第一部份.是系统定时检测数据库大小,再根据检测结果与数据库资料.判断数据库是否超大….该部份操作需要有MYSQL高权限用户去完成(建议ROOT).用该文件需要定时运行.,但该文件可以放在网站访问不到的保密地方…\n所有文件.打包下载.\nhttp://www.xingkong.biz/mysql_limit.zip\nCODE:[Copy to clipboard] //设置部分\n$id=mysql_connect(‘localhost’,’user’,’password’); //最好是使用root, …"
November 13, 2008
require和include基本的区别
"手册里是这么解释的:\nrequire() 和 include() 除了怎样处理失败之外在各方面都完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在丢失文件时停止处理页面,那就别犹豫了,用 require() 吧。include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的include_path。\n就是说再解析程序时即读取require的文件,而不是解析后,\n如果不能读取到被require的文件,就不能进行下一步动作。 所以,不被正确包含就会导致程序的文件,用require比较好。\n可能效率上也略微高点。 —————————————————————\nrequire() 无论如何都会包含文件,而 include() 可以有选择地包含:\na.php 一定会被包含,而 b.php 一定不会被包含。\n在PHP中include和require到底有什么区别呢?看这里的例子就知道了\n:include.php3的运行结果是: 这是inc1.inc文件中的一个变量的值! 这是inc2.inc文件中的一个变量的值! inc1.inc文件 …"
November 13, 2008
require和include经典一例抛析
"在php中,include和require的作用比较容易混淆。下面我以一个经典例子来深刻说明它们的区别。 当我们经常访问一个数据库时,可以把连库语句写成一个文件 con_db.php3\n在实际应用时,我们可以在程序中调用这个文件。 如require(“con_db.php3”)或include(“con_db.php3) 这时,两个函数的效果是差不多的。 但如果这样用 filename.php3\n文件到myfun处将不能继续执行,因为函数里无法得到外面的变量(include也是一样的)。除非把$dbh作为一个变量传给函数。这又增加了调用函数的复杂度。 我们可以通过把require或include放在函数里面来解决这个问题。 如果用include,文件的第一个函数调用处将顺利通过,但第二个调用将无法执行,原因是不能在没有关闭数据库时在打开一次,也就是说,con_db.php3执行了两次。将include换成require,一切都正常。 也就是说,require类似于一次预扫描,在程序执行时,无论在函数里或是函数外,都将先把require的文件执行,且只执行一次。而include则是每执行 …"
November 13, 2008
PHP的命名空间
"摘要:命名变量,函数和类是挺困难的,除了要考虑到变量的名称要易于理解,还要担心是否这个名称在其它某个地方已经使用过. 在一小段脚本中,第二个问题是基本问题. 当你考虑重用你的代码, 在这之后的项目代码必须避免使用你用过的命名. 通常来说,可重用的代码总是包含在函数或类中, 需要处理许多可能发生的命名冲突. 但函数和类之间也可能发生命名冲突. 你可以尝试避免出现这种情况,通过在所有类前添加前缀的方法,或者你可以使用namespace语句.\n标签: PHP命名空间 PHP\n命名变量,函数和类是挺困难的,除了要考虑到变量的名称要易于理解,还要担心是否这个名称在其它某个地方已经使用过. 在一小段脚本中,第二个问题是基本问题. 当你考虑重用你的代码, 在这之后的项目代码必须避免使用你用过的命名. 通常来说,可重用的代码总是包含在函数或类中, 需要处理许多可能发生的命名冲突. 但函数和类之间也可能发生命名冲突. 你可以尝试避免出现这种情况,通过在所有类前添加前缀的方法,或者你可以使用namespace语句.\nNamespace关键字给一块代码命名. 在这个代码块外部,脚本必须用操作符::加上命名空 …"
November 13, 2008
把表记录生成数组
"以下是来自phpcms2008程序global.func.php文件部分函数,仅供参考:\nfunction cache_read($file, $path = ”, $iscachevar = 0) { if(!$path) $path = CACHE_PATH; $cachefile = $path.$file; if($iscachevar) { global $TEMP; $key = ‘cache_’.substr($file, 0, -4); return isset($TEMP[$key]) ? $TEMP[$key] : $TEMP[$key] = @include $cachefile; } return @include $cachefile; } function cache_write($file, $array, $path = ”) { if(!is_array($array)) return false; $array = “”; $cachefile = ($path ? $path : CACHE_PATH).$file; $strlen = …"
November 12, 2008
mysql复制表和表结构
"一、CREATE TABLE 方法\n整表复制 # create table 新表 select * from 旧表;\n结构复制 # create table 新表 select * from 旧表 where 1\u0026lt;\u0026gt;1;\n二、INSERT INTO 方法\n得到建表语句 # show create table 旧表;\n新建表\n复制数据到新表 # insert into 新表 select * from 旧表;"
November 12, 2008
PHP命名空间的分隔符是“\”
"PHP最终开始支持namespace(命名空间)。 但是经过开发者几个小时的讨论后,他们决定采用 “\\” 作为分隔符,而不是更流行的“ :: ”。Fredrik Holmström指出了这种分隔方法可能会产生的问题,如打字出错(但不会出现错误提示),IDE兼容性问题,字符数字等等,好处则是容易输入和分析。”"
November 12, 2008
新一篇: Oracle数据库的安全性措施概述
"一、Oracle中的实体完整性 Oracle在CREATE TABLE语句中提供了PRIMARY KEY子句,供用户在建表时指定关系的主码列。例如,在学生-选课数据库中,要定义Student表的Sno为主码,可使用如下语句:\nCREATETABLE student\n(sno NUMBER(8),\nsanme VARCHAR(20),\nsage NUMBER(20),\nCONSTRAINT pk_sno PRIMARYKEY(sno));\n其中,PRIMARY KEY(Sno)表示是Student表的主码。PK_SNO是此主码约束名。\n若要在SC表中定义(Sno,Cno)为主码,则用下面语句建立SC表:\nCREATETABLE sc\n(sno NUMBER(8),\ncno NUMBER(2),\ngrade NUMBER(2),\nCONSTRAINT pk_sc PRIMARYKEY(sno,cno));\n用PRIMARY KEY语句定义了关系的主码后,每当用户程序对主码列进行更新操作时,系统自动进行完整性检查,凡操作使主码值为空或使主码值在表中不唯一,系统拒绝此操作,从而保证了实体完整 …"