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版)
Oct 09 PHP
十天学会php之第二天
Oct 09 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
PHP与javascript实现变量交互的示例代码
Jul 23 PHP
php实现的树形结构数据存取类实例
Nov 29 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
php连接oracle数据库的核心步骤
May 26 PHP
php使用curl伪造来源ip和refer的方法示例
May 08 PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 PHP
php报错502badgateway解决方法
Oct 11 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
PHP实现时间轴函数代码
2011/10/08 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
canvas实现探照灯效果
2017/02/07 Javascript
easyui combogrid实现本地模糊搜索过滤多列
2017/05/13 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
用Python进行基础的函数式编程的教程
2015/03/31 Python
Python的Flask框架中web表单的教程
2015/04/20 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
python实现淘宝购物系统
2019/10/25 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
企业安全生产责任书
2014/04/14 职场文书
实习班主任自我评价
2015/03/11 职场文书
2015年部门工作总结范文
2015/03/31 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
法律意见书范本
2015/06/04 职场文书
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技