仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1162|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之PHP通用检测函数纠合

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。函数|纠合   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) 不法操作正告
// ※WordStrSpacialChar($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("^http://[_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(待check的邮政编码)
// 前往值:布尔值
// 备 注:无
//-----------------------------------------------------------------------------------
-------
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;$i<count($A_extend);$i++) //停止检测
{
if (trim(strtolower($extended)) == trim(strtolower($A_extend[$i]))) //转换大
小写并检测
{
$flag=1; //加胜利标记
$i=count($A_extend); //检测到了便中断检测
}
}

if($flag<>1)
{
for($j=0;$j<count($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_goback<>0)
{
echo "<script>alert('$C_alert');history.go($I_goback);</script>";
}
else
{
echo "<script>alert('$C_alert');</script>";
}
}
//-----------------------------------------------------------------------------------
-------


//-----------------------------------------------------------------------------------
-------
//-----------------------------------------------------------------------------------
-------
// 函数名:AlertExit($C_alert,$I_goback=0)
// 作 用:不法操作正告
// 参 数:$C_alert(提醒的毛病信息)
// $I_goback(前往到那一页)
// 前往值:字符串
// 备 注:无
//-----------------------------------------------------------------------------------
-------
function AlertExit($C_alert,$I_goback=0)
{
if($I_goback<>0)
{
echo "<script>alert('$C_alert');history.go($I_goback);</script>";
exit;
}
else
{
echo "<script>alert('$C_alert');</script>";
exit;
}
}
//-----------------------------------------------------------------------------------
-------


//-----------------------------------------------------------------------------------
-------
// 函数名:WordStrSpacialChar($C_char)
// 作 用:特别字符交换函数
// 参 数:$C_char(待交换的字符串)
// 前往值:字符串
// 备 注:无
//-----------------------------------------------------------------------------------
-------
function WordStrSpecialChar($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_len<>0)
{
$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_len<2)
{
$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;
}
//-----------------------------------------------------------------------------------
-----

?>
  咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。
蒙在股里 该用户已被删除
沙发
发表于 2015-2-4 11:36:30 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
海妖 该用户已被删除
板凳
发表于 2015-2-9 22:23:52 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
飘灵儿 该用户已被删除
地板
发表于 2015-2-28 00:48:23 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
5#
发表于 2015-2-28 17:37:40 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
精灵巫婆 该用户已被删除
6#
发表于 2015-3-10 02:48:25 | 只看该作者
爱上php,他也会爱上你。
深爱那片海 该用户已被删除
7#
发表于 2015-3-16 07:53:15 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
爱飞 该用户已被删除
8#
发表于 2015-3-22 21:09:43 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
第二个灵魂 该用户已被删除
9#
发表于 2015-3-22 22:08:14 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
若天明 该用户已被删除
10#
发表于 2015-3-27 20:11:10 | 只看该作者
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
再见西城 该用户已被删除
11#
 楼主| 发表于 2015-3-29 11:15:30 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
活着的死人 该用户已被删除
12#
发表于 2015-4-10 00:24:38 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
简单生活 该用户已被删除
13#
发表于 2015-4-14 20:13:34 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
兰色精灵 该用户已被删除
14#
发表于 2015-4-27 06:48:35 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
小魔女 该用户已被删除
15#
发表于 2015-5-2 20:32:20 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
只想知道 该用户已被删除
16#
发表于 2015-5-4 16:30:10 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
乐观 该用户已被删除
17#
发表于 2015-6-6 02:02:02 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
莫相离 该用户已被删除
18#
发表于 2015-6-11 19:27:07 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
再现理想 该用户已被删除
19#
发表于 2015-6-11 19:37:09 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
金色的骷髅 该用户已被删除
20#
发表于 2015-6-12 22:33:42 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-16 00:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表