实用函数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来处理多个提交任务
Oct 09 PHP
PHP6 mysql连接方式说明
Feb 09 PHP
php at(@)符号的用法简介
Jul 11 PHP
php 字符串压缩方法比较示例
Jan 23 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
PHP生成不重复随机数的方法汇总
Nov 19 PHP
浅析php单例模式
Nov 25 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
Redis在Laravel项目中的应用实例详解
Aug 11 PHP
laravel5.1 ajax post 传值_token示例
Oct 24 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 PHP
PHP项目多语言配置平台实现过程解析
May 18 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 zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
php内存缓存实现方法
2015/01/24 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
另一个javascript小测验(代码集合)
2011/07/27 Javascript
javaScript复制功能调用实现方案
2012/12/13 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
Python 的描述符 descriptor详解
2016/02/27 Python
13个最常用的Python深度学习库介绍
2017/10/28 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
python socket 聊天室实例代码详解
2019/11/14 Python
opencv python如何实现图像二值化
2020/02/03 Python
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
汽车检测与维修应届毕业生求职信
2013/10/19 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
金砖之国观后感
2015/06/11 职场文书
2015年科普工作总结
2015/07/23 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
2016年师德师风学习心得体会
2016/01/12 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang