实用函数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 相关文章推荐
第七节--类的静态成员
Nov 16 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 PHP
php 生成唯一id的几种解决方法
Mar 08 PHP
php 判断数组是几维数组
Mar 20 PHP
关于php循环跳出的问题
Jul 01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
Mar 02 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
PHP获取用户访问IP地址的5种方法
May 16 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
浅谈PHP封装CURL
Mar 06 PHP
Linux系统下安装PHP7.3版本
Jun 26 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 页面执行时间计算代码
2008/12/04 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
2013/02/18 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
php自动加载代码实例详解
2021/02/26 PHP
jquery $.trim()方法使用介绍
2014/05/21 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
react-router中的属性详解
2017/06/01 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
Python多线程编程(三):threading.Thread类的重要函数和方法
2015/04/05 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
HTML5页面无缝闪开的问题及解决方案
2020/06/11 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
入党转预备思想汇报
2014/01/07 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
高中学生自我评价范文
2014/09/23 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
网络管理员岗位职责
2015/02/12 职场文书
团员年度个人总结
2015/02/26 职场文书
2015年消防工作总结
2015/04/24 职场文书
未婚证明格式
2015/06/15 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书
MySQL Threads_running飙升与慢查询的相关问题解决
2021/05/08 MySQL
Go Plugins插件的实现方式
2021/08/07 Golang
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python