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的无限分类实现想法~
Jan 02 PHP
phplock(php进程锁) v1.0 beta1
Nov 24 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
Jun 30 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
使用PHP实现蜘蛛访问日志统计
Jul 05 PHP
php无法连接mysql数据库的正确解决方法
Jul 01 PHP
php json_encode与json_decode详解及实例
Dec 13 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP大文件切割上传并带进度条功能示例
Jul 01 PHP
Laravel统计一段时间间隔的数据方法
Oct 09 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 adodb连接不同数据库
2009/03/19 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
PHP count()函数讲解
2019/02/03 PHP
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
js实现碰撞检测
2021/01/29 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
python抓取百度首页的方法
2015/05/19 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
2013年军训通讯稿
2014/02/05 职场文书
xxx同志考察材料
2014/02/07 职场文书
公司股权转让协议书
2014/04/12 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
用Python仅20行代码编写一个简单的端口扫描器
2022/04/08 Python
MySQL数据库 任意ip连接方法
2022/05/20 MySQL