一些常用的php函数


Posted in PHP onDecember 06, 2006

1.产生随机字符串函数 

<?php 
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使用有效 

<?php 
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地址 

<?php 
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.创建相应的文件夹 

<?php 
function createdir($dir='') 

        if (!is_dir($dir)) 
        { 
            $temp = explode('/',$dir); 
            $cur_dir = ''; 
            for($i=0;$i<count($temp);$i++) 
            { 
                $cur_dir .= $temp[$i].'/'; 
                if (!is_dir($cur_dir)) 
                { 
                @mkdir($cur_dir,0777); 
                } 
            } 
        } 

?>  

5.判断邮箱地址 

<?php 
function checkEmail($inAddress) 

 return (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+",$inAddress)); 

?> 

6.跳转 

<?php 
function gotourl($message='',$url='',$title='') 

    $html  ="<html><head>"; 
    if(!empty($url)) 
     $html .="<meta http-equiv='refresh' content=\"3;url='".$url."'\">"; 
    $html .="<link href='../templates/style.css' type=text/css rel=stylesheet>"; 
    $html .="</head><body><br><br><br><br>"; 
    $html .="<table cellspacing='0' cellpadding='0' border='1' width='450' align='center'>"; 
 $html .="<tr><td bgcolor='#ffffff'>"; 
 $html .="<table border='1' cellspacing='1' cellpadding='4' width='100%'>"; 
 $html .="<tr class='m_title'>"; 
 $html .="<td>".$title."</td></tr>"; 
 $html .="<tr class='line_1'><td align='center' height='60'>"; 
 $html .="<br>".$message."<br><br>"; 
    if (!empty($url)) 
     $html .="系统将在3秒后返回<br>如果您的浏览器不能自动返回,请点击[<a href=".$url." target=_self>这里</a>]进入"; 
    else 
     $html .="[<a href='#' onclick='history.go(-1)'>返回</a>]"; 
    $html .="</td></tr></table></td></tr></table>"; 
 $html .="</body></html>"; 
 echo $html; 
 exit; 

?>  

7.分页(两个函数配合使用) 

<?php 
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 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 color='red'><b>[".$t."]</b></font> " : "<a href='?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; 

?>  

PHP 相关文章推荐
怎么使 Mysql 数据同步
Oct 09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Dec 02 PHP
PHP取得一个类的属性和方法的实现代码
May 22 PHP
PHP二维数组的去重问题解析
Jul 17 PHP
php数组去重的函数代码
Feb 03 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 PHP
YII Framework框架教程之国际化实现方法
Mar 14 PHP
php微信公众账号开发之前五个坑(一)
Sep 18 PHP
浅谈PHP中try{}catch{}的使用方法
Dec 09 PHP
PHP chunk_split()函数讲解
Feb 12 PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 PHP
PHP语法速查表
Dec 06 #PHP
[转帖]PHP世纪万年历
Dec 06 #PHP
一个PHP日历程序
Dec 06 #PHP
模板引擎Smarty深入浅出介绍
Dec 06 #PHP
PHP文件下载类
Dec 06 #PHP
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 #PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 #PHP
You might like
php 随机排序广告的实现代码
2011/05/09 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
使用PHP实现Mysql读写分离
2013/06/28 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
浅谈vuex中store的命名空间
2019/11/08 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
Python实现简单的代理服务器
2015/07/25 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
python实现加密的方式总结
2020/01/19 Python
Python实现对adb命令封装
2020/03/06 Python
python switch 实现多分支选择功能
2020/12/21 Python
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
邀请书格式范文
2015/02/02 职场文书
党员带头倡议书
2015/04/29 职场文书
郭明义观后感
2015/06/08 职场文书
判断Python中的Nonetype类型
2021/05/25 Python