Welcome 微信登录

首页 / 网页编程 / PHP / php中常用的自定义方法

php中常用的自定义方法2014-08-201.月份显示

/** 月份顯示 * @paramint$m 1-12 * @paramint$type0: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字母數字中文及部份符號 * @paramString$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 * @paramString$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;}