一些常用的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 什么是PEAR?(第三篇)
Mar 19 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 PHP
微信自定义菜单的处理开发示例
Apr 16 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
postfixadmin忘记密码后的修改密码方法详解
Jul 20 PHP
PHP针对多用户实现更换头像功能
Sep 04 PHP
PHP文件操作实例总结
Sep 27 PHP
PHP使用strrev翻转中文乱码问题的解决方法
Jan 13 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
yii2中关于加密解密的那些事儿
Jun 12 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返回当前日期或者指定日期是周几
2015/05/21 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP读取word文档的方法分析【基于COM组件】
2017/08/01 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
如何更好的编写js async函数
2018/05/13 Javascript
Vue页面跳转动画效果的实现方法
2018/09/23 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
python同步两个文件夹下的内容
2019/08/29 Python
优秀员工个人的自我评价
2013/11/29 职场文书
护理专科学生自荐书
2014/07/05 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
使用CSS设置滚动条样式
2022/01/18 HTML / CSS
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python