知行合一

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

<?

/*
    * 功能:格式化数字,以标准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;
}
?>

赞(0) 打赏
未经允许不得转载:嘟嘟鱼 » PHP开发中经常用到的一些函数
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏