PHP通用检测函数集合

? //:未经许可请勿随便修改
//——————————————————————————————
//——————————————————————————————
// // :c_ora_db.inc // :Oracle公用函数类 // :天灰 // //
:2001/05/11[cxx] //
:‘C_’=字符型,‘I_’=整型,‘N_’=数字型,‘L_’=布尔型,‘A_’=数组型
//——————————————————————————————
//——————————————————————————————
//※db_Logon()开启数据库连接 //※db_query()通用select
//※db_change()数据库改变的通用函数
//※db_insert()insert,直接调用db_change()
//※db_delete()delete,直接调用db_change()
//※db_update()update,直接调用db_change() //※db_commit()事务递交
//※db_rollback()事务回退 //※db_Logoff()断开数据库连接
//——————————————————————————————
Class c_ora_db {
//——————————————————————————————
//变量定义
//——————————————————————————————
var $C_user= “”;//数据库用户名 var $C_passwd= “”;//数据库口令 var
$C_澳门新葡萄京官网注册,db= “”;//数据库名 var $I_linkID= 0;//连线句柄 var $I_stmtID=
0;//查询句柄 var $color=””;//全局颜色
//——————————————————————————————
//——————————————————————————————
//函数名:db_Logon() //作用:开启数据库连接 //参数:无
//返回值:连线句柄 //备注:无
//——————————————————————————————
functiondb_Logon() { $this-I_linkID
=@OCILogon($this-C_user,$this-C_passwd,$this-C_db); if
($this-I_linkID == 0){AlertExit(数据库链接失败,请与DBA联系!);}
return$this-I_linkID; }
//——————————————————————————————
//——————————————————————————————
//函数名:db_query($C_sql,$A_define=””,$I_start=-1,$I_end=-1)
//作用:select //参数:$C_sqlsql语句 //$A_define需绑定的字段。数组型
//$I_start开始取记录 -1则取出查询的所有记录 //$I_end结束取纪录
//返回值:二维数组($A_rs) //备注:通过数字0,1,2….可访问对应字段的值;
或通过查询字段名也可访问对应字段的值
//如通过$A_rs[0][0]或$A_rs[0][NAME]或$A_rs[0][name]都可访问首条记录NAME字段
//$I_start,$I_end是配合分页使用的参数。
//——————————————————————————————
functiondb_query($C_sql,$A_define=””,$I_start=-1,$I_end=-1) { if
(!$C_sql){AlertExit(“参数不全!”);}//检查参数 //连接检测 if
($this-I_linkID == 0){AlertExit(数据库链接失败,请与DBA联系!);}
//格式检测 $this – I_stmtID = OCIParse($this – I_linkID,$C_sql); if
(!$this – I_stmtID){AlertExit( sql格式出错!请与程序员联系);}
//如果没指定绑定的字段,则从SQL语句中去取 if($A_define==””) { $A_Cur =
explode(“select”,$C_sql); $A_Cur = explode(“from”,$A_Cur[1]);
$A_define = explode(“,”,$A_Cur[0]); } //绑定数据库表字段
if(gettype($A_define) == “array”)//查询列是数组 {
for($i=0;$icount($A_define);$i++) { $A_define_up[$i] =
trim(strtoupper($A_define[$i]));//大写并去除空格 }
for($i=0;$icount($A_define_up);$i++) { OCIDefineByName($this –
I_stmtID,”$A_define_up[$i]”,$$A_define[$i]);//绑定 } }
elseif(trim($A_define) “”)//查询列只有一个 { $A_define_up =
trim(strtoupper($A_define)); OCIDefineByName($this –
I_stmtID,”$A_define_up”,$$A_define); } //执行绑定好的SQL语句
if(!OCIExecute($this – I_stmtID)) { echo “font
color=redb执行出错:/b/fontSQL Error:font color=red$C_sql/fontbr”;
return false; } $lower = 0;//返回二维数组的第一维下标控制变量 $cnt =
0;//开始取数标识 //取记录 while (OCIFetchInto($this –
I_stmtID,$cur,OCI_ASSOC)) { //取查询出来的所有记录 if ($I_start ==
-1) { if (gettype($A_define) == “array”)//查询列是数组 { for
($i=0;$icount($A_define);$i++) { if ($cur[$A_define_up[$i]]
$$A_define[$i]) { $$A_define[$i] = $cur[$A_define_up[$i]]; }
$A_rs[$lower][$i] = $$A_define[$i];//用数字访问
$A_rs[$lower][$A_define[$i]] = $$A_define[$i];//用小些访问
$A_rs[$lower][$A_define_up[$i]] =
$$A_define[$i];//用大写访问 } } elseif (trim($A_define)
“”)//查询列只有一个 { if ($cur[$A_define_up] $$A_define) {
$$A_define = $cur[$A_define_up]; } $A_rs[$lower][0] =
$$A_define;//用数字访问 $A_rs[$lower][$A_define] =
$$A_define;//用小写访问 $A_rs[$lower][$A_define_up] =
$$A_define;//用大些访问 } $lower++;//下标加一 }
//取出指定记录(配合分页使用) if ($I_start -1) { if ($cnt = $I_start) {
$cnt++; if ($I_end – $I_start 0) { $I_end–; if (gettype($A_define)
== “array”) { for($i=0;$icount($A_define_up);$i++) { if
($cur[$A_define_up[$i]] $$A_define[$i]) { $$A_define[$i] =
$cur[$A_define_up[$i]]; } $A_rs[$lower][$i] =
$$A_define[$i];//用数字访问 $A_rs[$lower][$A_define[$i]] =
$$A_define[$i];//用小些访问 $A_rs[$lower][$A_define_up[$i]]
= $$A_define[$i];//用大写访问 } }elseif(trim($A_define) “”) { if
($cur[$A_define_up] $$A_define) { $$A_define =
$cur[$A_define_up]; } $A_rs[$lower][0] =
$$A_define;//用数字访问 $A_rs[$lower][$A_define] =
$$A_define;//用小些访问 $A_rs[$lower][$A_define_up] =
$$A_define;//用大写访问 } $lower++; }else {
break;//如果$I_end-$I_start=0表示取完记录并跳出while循环 } }else {
$cnt++;//如果$cnt$I_start,$cnt++ } } }//while的结束
//释放句柄并返回查询数据 OCIFreestatement($this – I_stmtID); return
$A_rs; } //function的结束
//——————————————————————————————
//——————————————————————————————
//函数名:db_change($C_sql,$A_bind) //作用:db change
//参数:$C_sqlsql语句 //$A_bind需绑定的字段。数组型 //返回值:布尔值
//备注:insert,delete,update通用
//——————————————————————————————
function db_change($C_sql,$A_bind=””) { if
(!$C_sql){AlertExit(“参数不全!”);}//检查参数 //连接检测 if($this –
I_linkID==””){AlertExit(“我们的数据库正忙,请稍后再连接!”);}
//格式检测 $this – I_stmtID = OCIParse($this – I_linkID,$C_sql); if
(!$this – I_stmtID){AlertExit( sql格式出错!请与程序员联系);} //绑定
if(gettype($A_bind) == “array”) { for($i=0;$icount($A_bind);$i++) {
global $$A_bind[$i]; $$A_bind[$i] =
StripSlashes($$A_bind[$i]);//去掉反斜线字元 $$A_bind[$i] =
str_replace(“?”,” ?”,$$A_bind[$i]);//过滤掉PHP标示 }
for($i=0;$icount($A_bind);$i++){ OCIBindByName($this – I_stmtID,
“:$A_bind[$i]”, $$A_bind[$i], -1);//绑定 } } elseif(trim($A_bind)
“”)//不是数组,是字符 { global $$A_bind; $$A_bind =
StripSlashes($$A_bind); $$A_bind = str_replace(“?”,”
?”,$$A_bind);//过滤掉PHP标示 OCIBindByName($this – I_stmtID,
“:$arrBind”, $$A_bind, -1); } //执行并检测是否成功 if(!OCIExecute($this

?php//:未经许可请勿随便修改 // : c_check.inc // : 通用检测函数集 // :
天灰 // : 2001/05/11[cxx] //
:C_=字符型,I_=整型,N_=数字型,L_=布尔型,A_=数组型
//———————————————————————————–
——- // ※CheckMoney($C_Money) 检查数据是否是99999.99格式 //
※CheckEmailAddr($C_mailaddr) 判断是否为有效邮件地址 //
※CheckWebAddr($C_weburl) 判断是否为有效网址 // ※CheckEmpty($C_char)
判断字符串是否为空 // ※CheckLengthBetween($C_char, $I_len1,
$I_len2=100) 判断是否为指定长度内字符串 // ※CheckUser($C_user)
判断是否为合法用户名 // ※CheckPassword($C_passwd)
判断是否为合法用户密码 // ※CheckTelephone($C_telephone)
判断是否为合法电话号码 // ※CheckValueBetween($N_var, $N_val1,
$N_val2) 判断是否是某一范围内的合法值 // ※CheckPost($C_post)
判断是否为合法邮编 // ※CheckExtendName($C_filename,$A_extend)
判断上传文件的扩展名 // ※CheckImageSize($ImageFileName,$LimitSize)
检验上传图片的大小 // ※AlertExit($C_alert,$I_goback=0)
非法操作警告并退出 // ※Alert($C_alert,$I_goback=0) 非法操作警告 //
※ReplaceSpacialChar($C_char) 特殊字符替换函数 //
※ExchangeMoney($N_money) 资金转换函数 //
※WindowLocation($C_url,$C_get=,$C_getOther=)
PHP中的window.location函数 // 函数名:CheckMoney($C_Money) // 作
用:检查数据是否是99999.99格式 // 参 数:$C_Money // 返回值:布尔值 //
备 注:无 function CheckMoney($C_Money) { if
(!ereg(^[0-9][.][0-9]$, $C_Money)) return false; return true; }
// 函数名:CheckEmailAddr($C_mailaddr) // 作 用:判断是否为有效邮件地址
// 参 数:$C_mailaddr // 返回值:布尔值 // 备 注:无 function
CheckEmailAddr($C_mailaddr) { if
(!eregi(^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$,
$C_mailaddr))
//(!ereg(^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$,
$c_mailaddr)) { return false; } return true; } //
函数名:CheckWebAddr($C_weburl) // 作 用:判断是否为有效网址 // 参
数:$C_weburl // 返回值:布尔值 // 备 注:无 function
CheckWebAddr($C_weburl) { if
(!ereg(^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$, $C_weburl)) { return
false; } return true; } // 函数名:CheckEmpty($C_char) // 作
用:判断字符串是否为空 // 参 数:$C_char // 返回值:布尔值 // 备 注:无
function CheckEmptyString($C_char) { if (!is_string($C_char)) return
false; //是否是字符串类型 if (empty($C_char)) return false;
//是否已设定 if ($C_char==”) return false; //是否为空 return true; }
// 函数名:CheckLengthBetween($C_char, $I_len1, $I_len2=100) // 作
用:判断是否为指定长度内字符串 // 参 数:$C_char // $I_len1 //
$I_len2 // 返回值:布尔值 // 备 注:无 function
CheckLengthBetween($C_cahr, $I_len1, $I_len2=100) { $C_cahr =
trim($C_cahr); if (strlen($C_cahr) $I_len1) return false; if
(strlen($C_cahr) $I_len2) return false; return true; } //
函数名:CheckUser($C_user) // 作 用:判断是否为合法用户名 // 参
数:$C_user // 返回值:布尔值 // 备 注:无 function CheckUser($C_user)
{ if (!CheckLengthBetween($C_user, 4, 20)) return false; //宽度检验 if
(!ereg(^[_a-zA-Z0-9]*$, $C_user)) return false; //特殊字符检验
return true; } // 函数名:CheckPassword($C_passwd) // 作
用:判断是否为合法用户密码 // 参 数:$C_passwd // 返回值:布尔值 // 备
注:无 function CheckPassword($C_passwd) { if
(!CheckLengthBetween($C_passwd, 4, 20)) return false; //宽度检测 if
(!ereg(^[_a-zA-Z0-9]*$, $C_passwd)) return false; //特殊字符检测
return true; } // 函数名:CheckTelephone($C_telephone) // 作
用:判断是否为合法电话号码 // 参 数:$C_telephone // 返回值:布尔值 //
备 注:无 function CheckTelephone($C_telephone) { if
(!ereg(^[+]?[0-9]+([xX-][0-9]+)*$, $C_telephone)) return
false; return true; } // 函数名:CheckValueBetween($N_var, $N_val1,
$N_val2) // 作 用:判断是否是某一范围内的合法值 // 参 数:$N_var
待检测的值 // $N_var1 待检测值的上限 // $N_var2 待检测值的下限 //
返回值:布尔值 // 备 注:无 function CheckValueBetween($N_var,
$N_val1, $N_val2) { if ($N_var $N_var1 ││ $N_var $N_var2) { return
false; } return true; } // 函数名:CheckPost($C_post) // 作
用:判断是否为合法邮编 // 参 数:$C_post // 返回值:布尔值 // 备 注:无
function CheckPost($C_post) { $C_post=trim($C_post); if
(strlen($C_post) == 6) { if(!ereg(^[+]?[_0-9]*$,$C_post)) {
return true;; }else { return false; } }else { return false;; } } //
函数名:CheckExtendName($C_filename,$A_extend) // 作
用:上传文件的扩展名判断 // 参 数:$C_filename 上传的文件名 //
$A_extend 要求的扩展名 // 返回值:布尔值 // 备 注:无 function
CheckExtendName($C_filename,$A_extend) { if(strlen(trim($C_filename))
5) { return 0; //返回0表示没上传图片 } $lastdot = strrpos($C_filename,
.); //取出.最后出现的位置 $extended = substr($C_filename, $lastdot+1);
//取出扩展名 for($i=0;$icount($A_extend);$i++) //进行检测 { if
(trim(strtolower($extended)) == trim(strtolower($A_extend[$i])))
//转换大 小写并检测 { $flag=1; //加成功标志 $i=count($A_extend);
//检测到了便停止检测 } } if($flag1) { for($j=0;$jcount($A_extend);$j++)
//列出允许上传的扩展名种类 { $alarm .= $A_extend[$j]. ; }
AlertExit(‘只能上传’.$alarm.’文件!而你上传的是’.$extended.’类型的文件’);
return -1; //返回-1表示上传图片的类型不符 } return 1;
//返回1表示图片的类型符合要求 } //
函数名:CheckImageSize($ImageFileName,$LimitSize) // 作
用:检验上传图片的大小 // 参 数:$ImageFileName 上传的图片名 //
$LimitSize 要求的尺寸 // 返回值:布尔值 // 备 注:无 function
CheckImageSize($ImageFileName,$LimitSize) {
$size=GetImageSize($ImageFileName); if ($size[0]$LimitSize[0] ││
$size[1]$LimitSize[1]) { AlertExit(‘图片尺寸过大’); return false; }
return true; } // 函数名:Alert($C_alert,$I_goback=0) // 作
用:非法操作警告 // 参 数:$C_alert // $I_goback // 返回值:字符串 //
备 注:无 function Alert($C_alert,$I_goback=0) { if($I_goback0) {
echo scriptalert(‘$C_alert’);history.go($I_goback);/script; } else {
echo scriptalert(‘$C_alert’);/script; } } //
函数名:AlertExit($C_alert,$I_goback=0) // 作 用:非法操作警告 // 参
数:$C_alert // $I_goback // 返回值:字符串 // 备 注:无 function
AlertExit($C_alert,$I_goback=0) { if($I_goback0) { echo
scriptalert(‘$C_alert’);history.go($I_goback);/script; exit; } else {
echo scriptalert(‘$C_alert’);/script; exit; } } //
函数名:ReplaceSpacialChar($C_char) // 作 用:特殊字符替换函数 // 参
数:$C_char // 返回值:字符串 // 备 注:无 function
ReplaceSpecialChar($C_char) { $C_char=HTMLSpecialChars($C_char);
//将特殊字元转成 HTML 格式。 $C_char=nl2br($C_char); //将回车替换为br
$C_char=str_replace( , ,$C_char); //替换空格替换为
$C_char=str_replace(? , ?,$C_char); //替换PHP标记 return $C_char; }
// 函数名:ExchangeMoney($N_money) // 作 用:资金转换函数 // 参
数:$N_money // 返回值:字符串 // 备
注:本函数示例:$char=ExchangeMoney(5645132.3155) ==
$char=’¥5,645,132.31′ function ExchangeMoney($N_money) {
$A_tmp=explode(.,$N_money );
//将数字按小数点分成两部分,并存入数组$A_tmp
$I_len=strlen($A_tmp[0]); //测出小数点前面位数的宽度
if($I_len%3==0) { $I_step=$I_len/3; //如前面位数的宽度mod 3 = 0
,可按,分成$I_step 部分 }else { $step=($len-$len%3)/3+1;
//如前面位数的宽度mod 3 != 0 ,可按,分成$I_step 部分+1 } $C_cur=;
//对小数点以前的金额数字进行转换 while($I_len0) { $I_step–;
if($I_step==0) { $C_cur .=
substr($A_tmp[0],0,$I_len-($I_step)*3); }else { $C_cur .=
substr($A_tmp[0],0,$I_len-($I_step)*3).,; }
$A_tmp[0]=substr($A_tmp[0],$I_len-($I_step)*3);
$I_len=strlen($A_tmp[0]); } //对小数点后面的金额的进行转换
if($A_tmp[1]==) { $C_cur .= .00; }else {
$I_len=strlen($A_tmp[1]); if($I_len2) { $C_cur .=
..$A_tmp[1].0; }else { $C_cur .= ..substr($A_tmp[1],0,2); } }
//加上人民币符号并传出 $C_cur=¥.$C_cur; return $C_cur; } //
函数名:WindowLocation($C_url,$C_get=,$C_getOther=) // 作
用:PHP中的window.location函数 // 参 数:$C_url 转向窗口的URL //
$C_get GET方法参数 // $C_getOther GET方法的其他参数 // 返回值: 字符串
// 备 注:无 function WindowLocation($C_url,$C_get=,$C_getOther=) {
if($C_get == $C_getOther == ) if($C_get == $C_getOther
){$C_target=window.location=’$C_url? $C_getOther=’+this.value;}
if($C_get $C_getOther == ){$C_target=window.location=’$C_url?
$C_get’;} if($C_get $C_getOther
){$C_target=window.location=’$C_url?
$C_get$C_getOther=’+this.value;} return $C_target; } ?

  • I_stmtID,OCI_DEFAULT)) { echo “font color=redb执行出错:/b/fontSQL
    Error:font color=red$C_sql/fontbr”; return false; }
    /*//传回受影响的行数 global $I_changenum; $I_changenum =
    OCINumrows($this – I_stmtID);*/ //释放句柄,传回值
    OCIFreeStatement($this – I_stmtID); return true; }
    //——————————————————————————————
    //——————————————————————————————
    //函数名:db_delete($C_sql) //作用:delete //参数:C_sqlsql语句
    //返回值:布尔值 //备注:该函数只是为了使用直观,本质调用db_change()
    //——————————————————————————————
    function db_delete($C_sql) { return $this – db_change($C_sql); }
    //——————————————————————————————
    //——————————————————————————————
    //函数名:db_insert($C_sql,A_bind) //作用:insert
    //参数:C_sqlsql语句 //A_bind绑定 //返回值:布尔值
    //备注:该函数只是为了使用直观,本质调用db_change()
    //——————————————————————————————
    function db_insert($C_sql,$A_bind=””) { return $this –
    db_change($C_sql,$A_bind); }
    //——————————————————————————————
    //——————————————————————————————
    //函数名:db_update($C_sql,A_bind) //作用:update
    //参数:C_sqlsql语句 //A_bind绑定 //返回值:布尔值
    //备注:该函数只是为了使用直观,本质调用db_change()
    //——————————————————————————————
    function db_update($C_sql,$A_bind=””) { return $this –
    db_change($C_sql,$A_bind); }
    //——————————————————————————————
    //——————————————————————————————
    //函数名:db_commit() //作用:事务递交 //参数:无 //返回值:布尔值
    //备注:无
    //——————————————————————————————
    function db_commit() { return(OCICommit($this-I_linkID)); }
    //——————————————————————————————
    //——————————————————————————————
    //函数名:db_rollback() //作用:事务回退 //参数:无 //返回值:布尔值
    //备注:无
    //——————————————————————————————
    function db_rollback() { return(OCIRollback($this-I_linkID)); }
    //——————————————————————————————
    //——————————————————————————————
    //函数名:db_Logoff() //作用:断开数据库连接 //参数:无
    //返回值:布尔值 //备注:无
    //——————————————————————————————
    function db_Logoff() { return (OCILogoff($this-I_linkID)); }
    //——————————————————————————————
    //——————————————————————————————
    } ?

发表评论

电子邮件地址不会被公开。 必填项已用*标注