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 相关文章推荐
一个改进的UBB类
Oct 09 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
php使用curl和正则表达式抓取网页数据示例
Apr 13 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
Sep 29 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
php使用文本统计访问量的方法
May 12 PHP
php进程间通讯实例分析
Jul 11 PHP
golang与php实现计算两个经纬度之间距离的方法
Jul 22 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 PHP
WordPress多语言翻译插件 - WPML使用教程
Apr 01 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
限制ckeditor上传图片文件大小的方法
2013/11/15 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
索趣科技的答案
2007/02/07 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
Jquery Ajax Error 调试错误的技巧
2015/11/20 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
js实现返回顶部效果
2017/03/10 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
python rsa 加密解密
2017/03/20 Python
python中闭包Closure函数作为返回值的方法示例
2017/12/17 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
Fnac西班牙官网:法国文化和电子产品零售商
2021/03/14 全球购物
Linux常见面试题
2013/03/18 面试题
社会公德演讲稿
2014/05/20 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
师范生见习自我总结
2015/06/23 职场文书