一些常用的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 相关文章推荐
用IE远程创建Mysql数据库的简易程序
Oct 09 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
php 数组使用详解 推荐
Jun 02 PHP
PHP面向对象概念
Nov 06 PHP
php中的一些数组排序方法分享
Jul 20 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
php两点地理坐标距离的计算方法
Dec 29 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 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 register_shutdown_function函数的深入解析
2013/06/03 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
js控制表单操作的常用代码小结
2013/08/15 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
Python解析nginx日志文件
2015/05/11 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
Atom的python插件和常用插件说明
2018/07/08 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python如何保存文本文件
2020/06/07 Python
Python爬取数据并实现可视化代码解析
2020/08/12 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
Tessabit美国:集世界奢侈品和设计师品牌的意大利精品买手店
2020/06/29 全球购物
Python中pass语句的作用是什么
2016/06/01 面试题
班组长竞聘书
2014/03/31 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
2014年销售员工作总结
2014/12/01 职场文书
质量保证书格式模板
2015/02/27 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书