实用函数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 相关文章推荐
浅谈Windows下 PHP4.0与oracle 8的连接设置
Oct 09 PHP
如何获得PHP相关资料
Oct 09 PHP
smarty 原来也不过如此~~呵呵
Nov 25 PHP
PHP+MYSQL开发工具及资源收藏
Jan 02 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
学习php设计模式 php实现适配器模式
Dec 07 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
Mar 25 PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 PHP
PHP实现多图上传和单图上传功能
May 17 PHP
PHP 并发场景的几种解决方案
Jun 14 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/12/06 PHP
PHP 作用域解析运算符(::)
2010/07/27 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
vue 移动端记录页面浏览位置的方法
2020/03/11 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
Windows下python2.7.8安装图文教程
2016/05/26 Python
浅谈Python数据类型之间的转换
2016/06/08 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
python基础教程项目二之画幅好画
2018/04/02 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
python+POP3实现批量下载邮件附件
2018/06/19 Python
python迭代dict的key和value的方法
2018/07/06 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python列表每个元素同增同减和列表元素去空格的实例
2019/07/20 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
Python tkinter常用操作代码实例
2020/01/03 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
Keras 使用 Lambda层详解
2020/06/10 Python
python让函数不返回结果的方法
2020/06/22 Python
店面销售职位的职责
2014/03/09 职场文书
岗位廉政承诺书
2014/03/27 职场文书
个人欠款担保书
2014/05/20 职场文书
项目经理任命书范本
2014/06/05 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
围城读书笔记
2015/06/26 职场文书
采购员工作总结范文
2015/08/12 职场文书
周一给客户的问候语
2015/11/10 职场文书
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
2021/05/14 Python
详解Python魔法方法之描述符类
2021/05/26 Python
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js