实用函数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 写文本日志实现代码
May 18 PHP
php下载文件的代码示例
Jun 29 PHP
解析php DOMElement 操作xml 文档的实现代码
May 10 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 PHP
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
Jun 19 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
PHP中explode函数和split函数的区别小结
Aug 24 PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 PHP
PHP编写daemon process详解及实例代码
Sep 30 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
php判断电子邮件是否正确方法
Dec 04 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 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
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
php单链表实现代码分享
2016/07/04 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
python对指定目录下文件进行批量重命名的方法
2015/04/18 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
解决pandas 作图无法显示中文的问题
2018/05/24 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
利用Python实现某OA系统的自动定位功能
2020/05/27 Python
python爬取音频下载的示例代码
2020/10/19 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
太阳镜仓库,售价20美元或更少:Sunglass Warehouse
2016/09/28 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
Luxplus荷兰:以会员价购买美容产品等,独家优惠
2019/08/30 全球购物
师范生个人推荐信
2013/11/29 职场文书
咖啡厅创业计划书范本
2014/01/22 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
暑期家教宣传单
2015/07/14 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
Feign调用全局异常处理解决方案
2021/06/24 Java/Android