php开发中经常用到的一些PHP函数

频道:网页设计 日期: 浏览:1220
<? class useful{ /*   * 常用函数类   * 作    者:多菜鸟   * 联系邮箱:kingerq AT msn DOT com   * 创建时间:2005-07-18   * 来源:http://blog.csdn.net/kingerq   */ /*   * 功能:格式化数字,以标准MONEY格式输出   */   function formatnumber($num){   return number_format($num, 2, ".", ","); } /*   * 功能:格式化文本,将n转成<br>等   * 参数:$string 来源字符串   * 返回:处理后的字符串   */ function formatstring($string = ""){   $string = preg_replace(array("/ /", "/ /"), array(" ", "  "), $string);   return nl2br($string); } /*   * 功能:格式化文本输出   * 参数 $text 为需格式化的文本内容   */ function formatcontent($text){   $trans = get_html_translation_table(HTML_SPECIALCHARS);   $trans = array_flip($trans);   $text = strtr($text, $trans);   //$text = str_replace("n", "<br>", $text);   //$text = str_replace(" ", " ", $text);   return $text; } /*   * 将字节转换成Kb或者Mb...   * 参数 $num为字节大小   */ function bitsize($num){   if(!preg_match("/^[0-9]+$/", $num)) return 0;   $type = array( "B", "KB", "MB", "GB", "TB", "PB" );     $j = 0;   while( $num >= 1024 ) {    if( $j >= 5 ) return $num.$type[$j];    $num = $num / 1024;    $j++;   }   return $num.$type[$j]; } /*   * 功能:不足3的倍数位的数字,用0补足   * $num 需补充的数字   * 返回补充完整的数字串   */ function prefix($num){   if( strlen( $num ) % 3 == 0 ) {    return $this->prefix("0".$num);   }   return $num; } /*   * 功能:连续建目录   * $dir 目录字符串   */ function makedir( $dir, $mode = "0777" ) {   if( ! $dir ) return 0;   $dir = str_replace( "\", "/", $dir );     $mdir = "";   foreach( explode( "/", $dir ) as $val ) {    $mdir .= $val."/";    if( $val == ".." || $val == "." ) continue;       if( ! file_exists( $mdir ) ) {     if(!@mkdir( $mdir, $mode )){      echo "创建目录 [".$mdir."]失败.";      exit;     }    }   }   return true; } /*   * 功能:检测时间的正确性   * $date 为时间,例:YYYY-MM-DD   * 返回:通过返回true,反之返回false   */ function chkdate( $date ) {   $d = explode( "-", $date );   if( checkdate( $d[1], $d[2], $d[0] ) ) {    return true;   }else {    return false;   } }   /*   * 防注入处理(为变量加入斜杠)函数   * 参数 $array 为防注入变量数组   */ function add_s(&$array){   foreach($array as $key=>$value){    if(!is_array($value)){     $array[$key]=addslashes($value);    }else{     $this->add_s($array[$key]);    }   } } /*   * 转换HTML特殊字符(表单提交的时候使用,防止恶意JS代码)   * 参数 $array 为需转换的字符串或者数组   */ function specialhtml(&$array){   if(is_array($array)){//数组处理    foreach($array as $key=>$value){     if(!is_array($value)){      $array[$key]=htmlspecialchars($value);     }else{      $this->specialhtml($array[$key]);     }    }   }else{    $array = htmlspecialchars($array);   } } /*   * 可以避免乱码的截取汉字   * 参数 $str 为字符串,$start 为开始字符,$len 结束字符   * 返回截取后的字符   */ function msubstr($str, $start, $len) {   $tmpstr = "";   $strlen = $start + $len;   for($i = 0; $i < $strlen; $i++) {    if(ord(substr($str, $i, 1)) > 0xa0) {     $tmpstr .= substr($str, $i, 2);     $i++;    } else     $tmpstr .= substr($str, $i, 1);   }   return $tmpstr; } /*   * 功能:综合提示JS代码输出   * 参数 $msg 为提示信息   *      $direct 为提示类型 0为提示(默认)1为提示刷新返回 2为提示返回   * 输出提示代码并结束程序   */ function alert_msg($msg, $direct = "0"){   switch($direct){    case '0'://提示     $script = "";    case '1'://提示刷新返回     $script = "location.href="".$_SERVER["HTTP_REFERER"]."";";     break;    case '2'://提示返回     $script = "history.back();";     break;    default://提示转向指定页面     $script = "location.href="".$direct."";";   }   echo "<script language='javascript'>window.alert('".$msg."');".$script."</script>";   exit; } /*   * 功能:取得给定日期所在周的开始日期和结束日期   * 参数:$gdate 日期,默认为当天,格式:YYYY-MM-DD   *       $first 一周以星期一还是星期天开始,0为星期天,1为星期一   * 返回:数组array("开始日期", "结束日期");   */ function aweek($gdate = "", $first = 0){   if(!$gdate) $gdate = date("Y-m-d");   $w = date("w", strtotime($gdate));//取得一周的第几天,星期天开始0-6   $dn = $w ? $w - $first : 6;//要减去的天数   $st = date("Y-m-d", strtotime("$gdate -".$dn." days"));   $en = date("Y-m-d", strtotime("$st +6 days"));   return array($st, $en);//返回开始和结束日期 } /*   * 功能:检测页面是否合法连接过来   * 如果为非法,就转向到登陆窗口   */ function checkurl(){   //如果直接从浏览器连接到页面,就连接到登陆窗口   //echo "referer:".$_SERVER['HTTP_REFERER'];   if(!isset($_SERVER['HTTP_REFERER'])) {    header("location: index.php");    exit;   }   $urlar = parse_url($_SERVER['HTTP_REFERER']);   //如果页面的域名不是服务器域名,就连接到登陆窗口   if($_SERVER["HTTP_HOST"] != $urlar["host"]) {    header("location: index.php");    exit;   } } /*   * 读取文件内容   * 参数 $file 为文件名及完整路径   * 返回文件内容   */ function readfiles($file){   $tdata = "";   $fp = fopen($file, "r");     if(filesize($file) <= 0) return;     while($data = fread($fp, filesize($file))){    $tdata .= $data;   }   fclose($fp);   return $tdata; } } ?>