实用函数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静态新闻列表自动生成代码
Jun 14 PHP
linux php mysql数据库备份实现代码
Mar 10 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
Dec 14 PHP
php array的学习笔记
May 16 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
php将字符串全部转换成大写或者小写的方法
Mar 17 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
php 中htmlentities导致中文无法查询问题
Sep 10 PHP
php模拟实现斗地主发牌
Apr 22 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 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连接mysql数据库代码
2009/03/10 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
php中实现获取随机数组列表的自定义函数
2015/04/02 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
jQuery.extend 函数详解
2012/02/03 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
微信小程序之前台循环数据绑定
2017/08/18 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
AngularJS 应用模块化的使用
2018/04/04 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
vue select 获取value和lable操作
2020/08/28 Javascript
Vue基本指令实例图文讲解
2021/02/25 Vue.js
python 判断一个进程是否存在
2009/04/09 Python
python生成随机mac地址的方法
2015/03/16 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
python实现加密的方式总结
2020/01/19 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
Python如何测试stdout输出
2020/08/10 Python
网上快餐厅创业计划书
2014/02/01 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
环保建议书100字
2014/05/14 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
单位授权委托书范文
2014/08/02 职场文书
感恩老师主题班会
2015/08/12 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android