实用函数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
simplehtmldom Doc api帮助文档
Mar 26 PHP
php弹出对话框实现重定向代码
Jan 23 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
php判断输入是否是纯数字,英文,汉字的方法
Mar 05 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 PHP
WAF的正确bypass
Jan 05 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 PHP
PHP获取类私有属性的3种方法
Sep 10 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 PHP
PHP7新特性
Mar 09 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
CodeIgniter模板引擎使用实例
2014/07/15 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
php生成图片缩略图的方法
2015/04/07 PHP
优化WordPress中文章与评论的时间显示
2016/01/12 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
使用PHP开发留言板功能
2019/11/19 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
简单的三步vuex入门
2018/05/20 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
在Python中关于中文编码问题的处理建议
2015/04/08 Python
python字典基本操作实例分析
2015/07/11 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
Python对切片命名的实现方法
2018/10/16 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
python中如何设置代码自动提示
2020/07/15 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
美国迪克体育用品商店:DICK’S Sporting Goods
2018/07/24 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
汉语言文学毕业生求职信
2013/10/01 职场文书
求职信的要素有哪些呢
2013/12/26 职场文书
企业内控岗位的职责
2014/02/07 职场文书
会计人员岗位职责
2014/03/19 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA