一些简单的正则验证
2017-03-02 10:46:23
一些简单的正则验证 $s = "aabcv"; //检查字符串是否为字母,为真不执行,否则输出NO if(!preg_match("/^[[:alpha:]]+$/",$s)) { echo "NO"; } $s2 = "aaaA"; //检查字符串是否为大写或为小写 //这是大写,必须全部是大写 if(preg_match("/^[[:upper:]]+$/",$s2)) { echo "upper"; } //这是小写,如果字符串中包含一个小写字母的话,,下面这判断就为真 if(preg_match("/[[:lower:]]/",$s2)) { echo "lower...
判断添加的链接的域名格式
2017-03-02 10:45:08
判断添加的链接的域名 $str = "www.baidu.com"; if(substr($str,0,7) == "http://") { $str = $str; } else { $str = "http://".$str; } //或者,不过下面这种方式比较不准确,,不能判断到://,如果是httpasdfasdf,它也能通过,把他写下来是 //为了方便他的可用之处,以后好查找 $str2="http:www.baidu.com"; $str2 = parse_url($str2); if($str2['scheme'] != "http") { echo "URL must begin w...
下载
2017-03-01 00:06:50
下载 文件如果是中文可以出现乱码,这时要对文件名进行转义编码,如下 $apro是要显示的文件名,UTF-8是传进来编码,显示为GB2312 $apro = iconv("utf-8", "gb2312", $apro); 也可以用mb_convert_encoding,不过好像需要扩展,没成功! 用法如下:mb_convert_encoding($apro,'gb2312','utf-8');//utf-8转GB2312 iconv('ucs-2','gb2312',iconv('utf-8','ucs-2',$game_name)); 先转成ucs-2(unicode标准),再转换 如果是.rar,.exe的东西直接<a h...
网页滚动效果
2017-02-28 16:52:34
<script type="text/javascript"> /****************************************************** * JavaScript实现内容从下往上连续滚动效果 Share JavaScript (http://www.ShareJS.com) * 使用此脚本程序,请保留此声明 * 获取此脚本以及更多的JavaScript程序,请访问 http://www.ShareJS.com ******************************************************/ //添加事件响应函数的函数,与本效果无关 function addEventSimple(obj,evt,fn){ if(obj.addEventListene...
慎用MYSQL的ENUM字段
2017-02-23 14:55:53
这两天有趣的事情非常多,比如,所谓的QQ一些内部培训资料流出,网上各大网盘啥的流量一下子就非常高了。我当然也不小心就下载了一份,还没有看,不过好象什么百度的资料上已经有在线看了。因为自己也没有看,所以也不太清楚这玩意是真是假。 OK,上正文,16日的MYSQL专场,对于mysql优化讲的较详细的应该算是杨涛涛,他对MYSQL的一些字段类型进行了些介绍,包括他们所含 的字节长度,来介绍给我们让我们了解如何对数据库进行优化,比如,尽量不要用bigint,因为,这在项目中几乎不可能会被用上而他们占的字节长度却是在int中最长的,在数据量大的时候,既占空间,又影响速度。 还介绍了datetime和timstamp等的区别(更多可以看我以前写的连载,里面也有介绍) 不过,他唯独没有提起ENUM字段,说起这个ENUM,它倒是mysql的一个特色字段,在以前很多人喜欢用它,因为他可以设...
查询 当日当月当周数据
2017-02-23 14:54:20
当天记录 select * from table where DATE_FORMAT(b.buy_datetime,'%Y-%m-%d')=current_date() 前一天记录 select * from table where DATE_FORMAT(b.buy_datetime,'%Y-%m-%d')=date_sub(current_date(),interval 1 day) 当月记录 select * from table where DATE_FORMAT(b.buy_datetime,'%Y-%m')=DATE_FORMAT(current_date(),'%Y-%m') //---------------------------------- 一周的 se...
PHP无限级递归及非无限级递归方法
2017-02-16 14:20:03
/* * ************** 无限级分类递归方法 ********************* */ function findChild(&$arr, $id) { $childs = array(); foreach ($arr as $k => $v) { if ($v['parentid'] == $id) { $childs[] = $v; } } return $childs; } function buildTree($root_id) { global $rows; $childs = findChild($rows, $root_id); if (empty($c...
获取客户端的ip
2017-02-16 14:18:58
/** * 获取客户端的ip * * @param boolean $format * - 返回格式 0 : 原格式 1:数字 * @return string/int */ function getIp($format = 0) { if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('...
php 无限级树型结构
2017-02-16 14:12:06
<?php function genTree5($items) { foreach ($items as $item) $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']]; return isset($items[0]['son']) ? $items[0]['son'] : array(); } /** ...
Linux系统防火墙防止DOS和DDOS攻击
2017-02-15 17:36:43
用Linux系统防火墙功能抵御网络攻击 虚拟主机服务商在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等。通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长。比较彻底的解决方法是添置硬件防火墙。不过,硬件防火墙价格比较昂贵。可以考虑利用Linux系统本身提供的防火墙功能来防御。 1. 抵御SYN SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。 Linux内核提供了若干SYN相关的配置,用命令: sysctl -a | grep syn 看到: net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_synack_retries = 5 ...