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-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 PHP
php学习之数据类型之间的转换介绍
Jun 09 PHP
php截取中文字符串不乱码的方法
Dec 25 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
php session实现多级目录存放实现代码
Feb 03 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
php简单生成一组与多组随机字符串的方法
May 09 PHP
PHP实现双链表删除与插入节点的方法示例
Nov 11 PHP
laravel 使用auth编写登录的方法
Sep 30 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 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与XML的PDF文档生成技术
2006/10/09 PHP
PHP 日期加减的类,很不错
2009/10/10 PHP
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
PHP中soap的用法实例
2014/10/24 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
基于JavaScript实现购物网站商品放大镜效果
2016/09/06 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
一篇不错的Python入门教程
2007/02/08 Python
Python线程详解
2015/06/24 Python
Python 面试中 8 个必考问题
2018/11/16 Python
Python实现Event回调机制的方法
2019/02/13 Python
python修改FTP服务器上的文件名
2019/09/11 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
社会实践评语
2014/04/28 职场文书
公司外出活动方案
2014/08/14 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
2015年学校教务处工作总结
2015/05/11 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
你知道Java Spring的两种事务吗
2022/03/16 Java/Android