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 相关文章推荐
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
Apr 07 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
Jun 24 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Jun 12 PHP
PHP制作百度词典查词采集器
Jan 29 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 PHP
php数组函数array_walk用法示例
May 26 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
Oct 08 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
PHP使用new StdClass()创建空对象的方法分析
Jun 06 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 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的FTP学习(一)
2006/10/09 PHP
PHP 快速排序算法详解
2014/11/10 PHP
Yii2实现多域名跨域同步登录退出
2017/02/04 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
jQuery实现点击关注和取消功能
2017/07/03 jQuery
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
python机器学习之神经网络(二)
2017/12/20 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
地球上最先进的胡子和头发修剪器:Bevel
2018/01/23 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
幼教个人求职信范文
2013/12/02 职场文书
标准化管理实施方案
2014/02/25 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
2016年元旦寄语
2015/08/17 职场文书
Android自定义双向滑动控件
2022/04/19 Java/Android