实用函数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编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
Mar 09 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
Jul 18 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
使用Yii2实现主从数据库设置
Nov 20 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 PHP
如何用PHP实现分布算法之一致性哈希算法
May 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
网上抓的一个特效
2007/05/11 Javascript
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
js计算精度问题小结
2013/04/22 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
2013/12/31 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
利用javascript如何随机生成一定位数的密码
2017/09/22 Javascript
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
对python模块中多个类的用法详解
2019/01/10 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
详解python中的index函数用法
2019/08/06 Python
Python @property使用方法解析
2019/09/17 Python
python简单实现插入排序实例代码
2020/12/16 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
Python tkinter实现日期选择器
2021/02/22 Python
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
java设计模式--七大原则详解
2021/07/21 Java/Android
Python制作动态字符画的源码
2021/08/04 Python
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python
Python中字符串对象语法分享
2022/02/24 Python
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis