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 相关文章推荐
一个简易需要注册的留言版程序
Oct 09 PHP
收集的php编写大型网站问题集
Mar 06 PHP
PHP下几种删除目录的方法总结
Aug 19 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
PHP中array_map与array_column之间的关系分析
Aug 19 PHP
Zend Framework教程之Zend_Layout布局助手详解
Mar 04 PHP
php文件缓存方法总结
Mar 16 PHP
PHP is_array() 检测变量是否是数组的实现方法
Jun 13 PHP
PHP Ajax实现无刷新附件上传
Aug 17 PHP
php中get_magic_quotes_gpc()函数说明
Feb 06 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
php字符串倒叙
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
BBS(php &amp; mysql)完整版(七)
2006/10/09 PHP
PHP将session信息存储到数据库的类实例
2015/03/04 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
Jquery 的扩展方法总结
2011/10/01 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
python文件写入实例分析
2015/04/08 Python
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
python之PyMongo使用总结
2017/05/26 Python
Python3计算三角形的面积代码
2017/12/18 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
pandas ix &amp;iloc &amp;loc的区别
2019/01/10 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
解决python gdal投影坐标系转换的问题
2020/01/17 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
HTML5: Web 标准最巨大的飞跃
2008/10/17 HTML / CSS
数据库笔试题
2013/05/09 面试题
大学生交通专业求职信
2014/09/01 职场文书
2015年党性分析材料
2014/12/19 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书