实用函数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 相关文章推荐
用文本文件制作留言板提示(上)
Oct 09 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
Oct 12 PHP
PHP中其实也可以用方法链
Nov 10 PHP
php编写的一个E-mail验证类
Mar 25 PHP
php输出全球各个时区列表的方法
Mar 31 PHP
PHP实现生成唯一会员卡号
Aug 24 PHP
修改WordPress中文章编辑器的样式的方法详解
Dec 15 PHP
php常用字符函数实例小结
Dec 29 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 PHP
php实现微信支付之现金红包
May 30 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
php实现简易计算器
Aug 28 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使用者状态管理功能的应用
2006/10/09 PHP
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
PHP实现Socket服务器的代码
2008/04/03 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
Python的requests网络编程包使用教程
2016/07/11 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
python——全排列数的生成方式
2020/02/26 Python
python能做哪方面的工作
2020/06/15 Python
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
应聘教师推荐信
2013/10/31 职场文书
出纳员的岗位职责
2014/02/22 职场文书
教师节促销方案
2014/03/22 职场文书
比赛口号大全
2014/06/10 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
庆祝国庆节标语
2014/10/09 职场文书
旷课检讨书
2015/01/26 职场文书
起诉状范本
2015/05/20 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
mysql优化
2021/04/06 MySQL
Pytorch中expand()的使用(扩展某个维度)
2022/07/15 Python