一些常用的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 相关文章推荐
PHP 和 XML: 使用expat函数(三)
Oct 09 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
PHP使用xmllint命令处理xml与html的方法
Dec 15 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
分享PHP函数实现数字与文字分页代码
Jul 28 PHP
php时间函数用法分析
May 28 PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 PHP
解决PhpStorm64不能启动的问题
Jun 20 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制作静态网站的模板框架(一)
2006/10/09 PHP
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
(function(){})()的用法与优点
2007/03/11 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
2017/06/29 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python zip文件 压缩
2008/12/24 Python
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
Python列表切片常用操作实例解析
2019/12/16 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
Delphi软件工程师试题
2013/01/29 面试题
幼儿园亲子活动通知
2015/04/24 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript