实用函数2


Posted in PHP onNovember 08, 2007

1、产生随机字符串函数

function random($length) {  
$hash = @#@#;  
$chars = @#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#;  
$max = strlen($chars) - 1;  
mt_srand((double)microtime() * 1000000);  
for($i = 0; $i < $length; $i++) {  
  $hash .= $chars[mt_rand(0, $max)];  
}  
return $hash;  
} 

2、截取一定长度的字符串(该函数对GB2312使用有效)
function Wordscut($string, $length ,$sss=0) {  
if(strlen($string) > $length) {  
               if($sss){  
                      $length=$length - 3;  
                      $addstr=@# ...@#;  
                }  
  for($i = 0; $i < $length; $i++) {  
   if(ord($string[$i]) > 127) {  
    $wordscut .= $string[$i].$string[$i + 1];  
    $i++;  
   } else {  
    $wordscut .= $string[$i];  
   }  
  }  
  return $wordscut.$addstr;  
}  
return $string;  
} 

3、取得客户端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);  
} 

4、判断邮箱地址
function checkEmail($inAddress)  
{  
return (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+",$inAddress));  
} 

5、分页(两个函数配合使用)
function getpage($sql,$page_size=20)  
{  
      global $page,$totalpage,$sums;  //out param  
      $page = $_GET["page"];  
      //$eachpage = $page_size;  
      $pagesql = strstr($sql," from ");  
      $pagesql = "select count(*) as ids ".$pagesql;  
      $result = mysql_query($pagesql);  
      if($rs = mysql_fetch_array($result)) $sums = $rs[0];  
      $totalpage = ceil($sums/$page_size);  
      if((!$page)($page<1)) $page=1;  
   $startpos = ($page-1)*$page_size;  
   $sql .=" limit $startpos,$page_size ";  
    return $sql;  
}  
function showbar($string="")  
{       
    global $page,$totalpage;  
$out="共<font ".$totalpage."color=@#red@#><b>".$totalpage."</b></font>页  ";  
    $linkNum =4;  
    $start = ($page-round($linkNum/2))>0 ? ($page-round($linkNum/2)) : "1";  
    $end   = ($page+round($linkNum/2))<$totalpage ? ($page+round($linkNum/2)) : $totalpage;  
    $prestart=$start-1;  
    $nextend=$end+1;  
    if($page<>1)   
$out .= "<a href=@#?page=1&&".$string."@#title=第一页>第一页</a> ";  
    if($start>1)  
$out.="<a href=@#?page=".$prestart."@# title=上一页>..<<</a> ";  for($t=$start;$t<=$end;$t++)  
    {  
     $out .= ($page==$t) ? "<font [".$t."]color=@#red@#><b>[".$t."]</b></font> " : "<a $thref=@#?page=$t&&".$string."@#>$t</a> ";  
    }  
if($end<$totalpage)  
$out.="<a href=@#?page=".$nextend."&&".$string."@# title=下一页>>>..</a>";  
    if($page<>$totalpage)  
   $out .= " <a href=@#?page=".$totalpage."&&".$string."@# title=最后页>最后页</a>";  
   return $out;  
} 

6、获取新插入数据的ID
<?  
mysql_insert_id();  
?>
PHP 相关文章推荐
php 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
使用PHP curl模拟浏览器抓取网站信息
Oct 28 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
PHP滚动日志的代码实现
Jun 10 PHP
php无序树实现方法
Jul 28 PHP
PHP记录和读取JSON格式日志文件
Jul 07 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
php使用imagecopymerge()函数创建半透明水印
Jan 25 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
May 02 PHP
PHP date_default_timezone_set()设置时区操作实例分析
May 16 PHP
laravel开发环境homestead搭建过程详解
Jul 03 PHP
一个图形显示IP的PHP程序代码
Oct 19 #PHP
php在线生成ico文件的代码
Oct 09 #PHP
pw的一个放后门的方法分析
Oct 08 #PHP
使用 eAccelerator加速PHP代码的方法
Sep 30 #PHP
实现php加速的eAccelerator dll支持文件打包下载
Sep 30 #PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 #PHP
一些常用的php简单命令代码集锦
Sep 24 #PHP
You might like
PHP面向对象——访问修饰符介绍
2012/11/08 PHP
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
js格式化时间的方法
2015/12/18 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
js实现二级菜单点击显示当前内容效果
2018/04/28 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
Vue仿Bibibili首页的问题
2021/01/21 Vue.js
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
构建Python包的五个简单准则简介
2015/06/15 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
用python对oracle进行简单性能测试
2020/12/05 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
设置器与访问器的定义以及各自特点
2016/01/08 面试题
教师自荐书
2013/10/08 职场文书
毕业生自我鉴定
2013/11/05 职场文书
财产保全担保书
2015/01/20 职场文书
收银员岗位职责
2015/02/03 职场文书
岳庙导游词
2015/02/04 职场文书
会议通知范文
2015/04/15 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
同乡会致辞
2015/07/30 职场文书
五年级作文之成长
2019/09/16 职场文书
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis