实用函数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 内存缓存加速功能memcached安装与用法
Sep 03 PHP
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
PHP 读取大文件的X行到Y行内容的实现代码
Jun 24 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
ThinkPHP下表单令牌错误与解决方法分析
May 20 PHP
PHP常见字符串操作函数与用法总结
Mar 04 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 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截取中文字符串函数实例
2015/02/23 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
用js自动判断浏览器分辨率的代码
2007/01/28 Javascript
jQuery 性能优化指南(2)
2009/05/21 Javascript
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
利用Python实现网络测试的脚本分享
2017/05/26 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
幼儿园毕业寄语
2014/04/03 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
环保标语口号
2014/06/13 职场文书
2014标准社保办理委托书
2014/10/06 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
redis中lua脚本使用教程
2021/11/01 Redis
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫
Tomcat配置访问日志和线程数
2022/05/06 Servers