php一些公用函数的集合


Posted in PHP onMarch 27, 2008

/*获得客户端ip地址*/
    function getIP() {
        if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown")) {
                $ip = getenv("HTTP_CLIENT_IP");
        }
        else if(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),"unknown")) {
                $ip = getenv("HTTP_X_FORWARDED_FOR");
        }
        else if(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"),"unknown")) {
                $ip = getenv("REMOTE_ADDR");
        }
        else if(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],"unknown")) {
                $ip = $_SERVER['REMOTE_ADDR'];
        }
        else {
                $ip = "unknown";
        }

        return($ip);
}

/*验证IP地址函数*/
function checkIP($ip) {
        return preg_match((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?);
}

/*用户输入内容过滤函数*/
function getStr($str) {
    $tmpstr = trim($str);
    $tmpstr = strip_tags($tmpstr);
    $tmpstr = htmlspecialchars($tmpstr);

    /*加入字符转义*/
    $tmpstr = addslashes($tmpstr);

    return $tmpstr;
}

/*容量大小计算函数*/
function sizecount($filesize) {
        if($filesize >= 1073741824) {
                $filesize = round($filesize / 1073741824 * 100) / 100 . ' G';
        } elseif($filesize >= 1048576) {
                $filesize = round($filesize / 1048576 * 100) / 100 . ' M';
        } elseif($filesize >= 1024) {
                $filesize = round($filesize / 1024 * 100) / 100 . ' K';
        } else {
                $filesize = $filesize . ' bytes';
        }
        return $filesize;
}

/*简单防SQL注入函数*/
function getSQL($feild) {
    $tmpfeild = mysql_escape_string($feild);

    return $tmpfeild;
}
/*$num必须为英文字符或数字0-9*/
function getNums($num) {
    return (ctype_alnum($num));
}

/*$char必须为英文字符*/
function getChar($char) {
    return (ctype_alpha($char));
}
/*匹配qq(5-12)位*/
function getQQ($qq) {
    return preg_match("/^\b[0-9]{5,12}\b/",$qq);
}
/*匹配电子邮件地址*/
function getEmail($email) {
    return strlen($email)>6 && preg_match("/^\w+@(\w+\.)+[com]|[cn]$/" , $email);
// preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/",$email);
}

/*生成email连接*/
function emailconv($email,$tolink=1) {
        $email=str_replace(array('@','.'),array('@','.'),$email);
        return $tolink ? '<a href="mailto: '.$email.'">'.$email.'</a>':$email;
}

/*检查ip是否被允许访问*/
function ipaccess($ip,$accesslist) {
        return preg_match("/^(".str_replace(array("\r\n",' '),array('|',''),preg_quote($accesslist,'/')).")/",$ip);
}

/*若标题过长,此函数可显示前几个字符,剩余字符用...代替*/
function cutstr($string, $length) {
    if(strlen($string) > $length) {
        for($i = 0; $i < $length - 3; $i++) {
                   /*返回字符的序数值*/
            $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
        }
        return $strcut.' ...';
    } else {
        return $string;
    }
}

PHP 相关文章推荐
php 数组使用详解 推荐
Jun 02 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
Jul 20 PHP
Zend的AutoLoad机制介绍
Sep 27 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
Php连接及读取和写入mysql数据库的常用代码
Aug 11 PHP
十幅图告诉你什么是PHP引用
Feb 22 PHP
PHP实现的购物车类实例
Jun 17 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
深入分析PHP优化及注意事项
Jul 04 PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 PHP
php使用preg_match()函数验证ip地址的方法
Jan 07 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
PHP之变量、常量学习笔记
Mar 27 #PHP
php日历[测试通过]
Mar 27 #PHP
PHP与MySQL开发中页面乱码的产生与解决
Mar 27 #PHP
php中cookie的作用域
Mar 27 #PHP
简单的PHP图片上传程序
Mar 27 #PHP
php中变量及部分适用方法
Mar 27 #PHP
php Undefined index和Undefined variable的解决方法
Mar 27 #PHP
You might like
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
最贵的咖啡是怎么产生的,它的风味怎么样?
2021/03/04 新手入门
PHP面向对象分析设计的61条军规小结
2010/07/17 PHP
PHP模块 Memcached功能多于Memcache
2011/06/14 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
JavaScript中获取鼠标位置相关属性总结
2014/10/11 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
Python常用内置函数总结
2015/02/08 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
Python实现括号匹配方法详解
2020/02/10 Python
Python extract及contains方法代码实例
2020/09/11 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
实习生自荐信范文
2013/11/13 职场文书
生产厂厂长岗位职责
2013/12/25 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
个人自我剖析材料
2014/09/30 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
2015年学生资助工作总结
2015/05/25 职场文书
预备党员考察意见范文
2015/06/01 职场文书
汉字听写大会观后感
2015/06/12 职场文书
2015中学政教处工作总结
2015/07/22 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书