程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php中常用的自定義方法

php中常用的自定義方法

編輯:PHP綜合

1.月份顯示

/** 月份顯示 
*   @param  int    $m       1-12 
*   @param  int    $type    0:long 1:short(default) 2:chinese 
*   @return String 
*/
function format_month($m, $type=0){  
    $month = array(  
                array('', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),  
                array('', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'),  
                array('', '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月')  
            );  
    return $month[$type][$m];  
}

2.過濾字符串,保留UTF8字母數字中文及部分符號

/** 過濾字符串,保留UTF8字母數字中文及部份符號 
*   @param  String  $ostr 
*   @return String 
*/
function filter_utf8_char($ostr){  
    preg_match_all('/[\x{FF00}-\x{FFEF}|\x{0000}-\x{00ff}|\x{4e00}-\x{9fff}]+/u', $ostr, $matches); 
    $str = join('', $matches[0]);  
    if($str==''){   //含有特殊字符需要逐個處理  
        $returnstr = '';  
        $i = 0;  
        $str_length = strlen($ostr);  
        while ($i<=$str_length){  
            $temp_str = substr($ostr, $i, 1);  
            $ascnum = Ord($temp_str);  
            if ($ascnum>=224){  
                $returnstr = $returnstr.substr($ostr, $i, 3);  
                $i = $i + 3;  
            }elseif ($ascnum>=192){  
                $returnstr = $returnstr.substr($ostr, $i, 2);  
                $i = $i + 2;  
            }elseif ($ascnum>=65 && $ascnum<=90){  
                $returnstr = $returnstr.substr($ostr, $i, 1);  
                $i = $i + 1;  
            }elseif ($ascnum>=128 && $ascnum<=191){ // 特殊字符  
                $i = $i + 1;  
            }else{  
                $returnstr = $returnstr.substr($ostr, $i, 1);  
                $i = $i + 1;  
            }  
        }  
        $str = $returnstr;  
        preg_match_all('/[\x{FF00}-\x{FFEF}|\x{0000}-\x{00ff}|\x{4e00}-\x{9fff}]+/u', $str, $matches);
        $str = join('', $matches[0]);  
    }  
    return $str;  
}

3.二進制流生成文件

/** 二進制流生成文件 
*   $_POST 無法解釋二進制流,需要用到 $GLOBALS['HTTP_RAW_POST_DATA'] 或 php://input 
*   $GLOBALS['HTTP_RAW_POST_DATA'] 和 php://input 都不能用於 enctype=multipart/form-data 
*   @param    String    $file   要生成的文件路徑 
*   @return   boolean 
*/
function binary_to_file($file){  
    $content = $GLOBALS['HTTP_RAW_POST_DATA'];  // 需要php.ini設置  
    if(empty($content)){  
        $content = file_get_contents('php://input');    // 不需要php.ini設置,內存壓力小  
    }  
    $ret = file_put_contents($file, $content, true);  
    return $ret;  
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved