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 相关文章推荐
收集的DedeCMS一些使用经验
Mar 17 PHP
Base64在线编码解码实现代码 演示与下载
Jan 08 PHP
php下拉选项的批量操作的实现代码
Oct 14 PHP
PHP的switch判断语句的“高级”用法详解
Oct 01 PHP
PHP分页类集锦
Nov 18 PHP
PHP进程同步代码实例
Feb 12 PHP
PHP浮点数精度问题汇总
May 13 PHP
Zend Framework入门教程之Zend_Config组件用法详解
Dec 09 PHP
php mysql操作mysql_connect连接数据库实例详解
Dec 26 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 PHP
PHP-FPM 的管理和配置详解
Feb 17 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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中设置index.php文件为只读的方法
2013/02/06 PHP
php反射应用示例
2014/02/25 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
利用js对象弹出一个层
2008/03/26 Javascript
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
js 通用订单代码
2013/12/23 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
详解Python中的各种函数的使用
2015/05/24 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
django连接oracle时setting 配置方法
2019/08/29 Python
python和c语言哪个更适合初学者
2020/06/22 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
英语教师个人工作总结
2015/02/09 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android