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 模拟POST|GET操作实现代码
Jul 20 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
php封装好的人民币数值转中文大写类
Dec 20 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
PHP实现链式操作的原理详解
Sep 16 PHP
php 修改上传文件大小限制实例详解
Oct 23 PHP
PHP 传输会话curl函数的实例详解
Sep 12 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 PHP
PHP实现的数据对象映射模式详解
Mar 20 PHP
PHP 枚举类型的管理与设计知识点总结
Feb 13 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
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
用PHP 快速生成 Flash 动画的方法
2007/03/06 PHP
php实现的简易扫雷游戏实例
2015/07/09 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
JavaScript 基础问答三
2008/12/03 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
2010/06/28 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
详解微信小程序中的页面代码中的模板的封装
2017/10/12 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
Python实现井字棋小游戏
2020/03/09 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
酒吧创业计划书
2014/01/18 职场文书
信息服务专业毕业生求职信
2014/03/02 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
升学宴学生致辞
2015/07/27 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB