- <?php
- class useful{
- /*
- * 常用函數(shù)類
- * 作 者:多菜鳥
- * 聯(lián)系郵箱:kingerq AT msn DOT com
- * 創(chuàng)建時間:2005-07-18
- * 來源:http://blog.csdn.net/kingerq
- */
-
- /*
- * 功能:格式化數(shù)字,,以標(biāo)準(zhǔn)MONEY格式輸出
- */
-
- function formatnumber($num){
- return number_format($num, 2, ".", ",");
- }
-
- /*
- * 功能:格式化文本,將\n轉(zhuǎn)成<br>等
- * 參數(shù):$string 來源字符串
- * 返回:處理后的字符串
- */
- function formatstring($string = ""){
- $string = preg_replace(array("/ /", "/ /"), array(" ", " "), $string);
- return nl2br($string);
- }
-
- /*
- * 功能:格式化文本輸出
- * 參數(shù) $text 為需格式化的文本內(nèi)容
- */
- 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;
- }
-
- /*
- * 將字節(jié)轉(zhuǎn)換成Kb或者M(jìn)b...
- * 參數(shù) $num為字節(jié)大小
- */
- 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的倍數(shù)位的數(shù)字,用0補(bǔ)足
- * $num 需補(bǔ)充的數(shù)字
- * 返回補(bǔ)充完整的數(shù)字串
- */
- function prefix($num){
- if( strlen( $num ) % 3 == 0 ) {
- return $this->prefix("0".$num);
- }
- return $num;
- }
-
- /*
- * 功能:連續(xù)建目錄
- * $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 "創(chuàng)建目錄 [".$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;
- }
- }
-
- /*
- * 防注入處理(為變量加入斜杠)函數(shù)
- * 參數(shù) $array 為防注入變量數(shù)組
- */
- function add_s(&$array){
- foreach($array as $key=>$value){
- if(!is_array($value)){
- $array[$key]=addslashes($value);
- }else{
- $this->add_s($array[$key]);
- }
- }
- }
-
- /*
- * 轉(zhuǎn)換HTML特殊字符(表單提交的時候使用,,防止惡意JS代碼)
- * 參數(shù) $array 為需轉(zhuǎn)換的字符串或者數(shù)組
- */
- function specialhtml(&$array){
- if(is_array($array)){//數(shù)組處理
- foreach($array as $key=>$value){
- if(!is_array($value)){
- $array[$key]=htmlspecialchars($value);
- }else{
- $this->specialhtml($array[$key]);
- }
- }
- }else{
- $array = htmlspecialchars($array);
- }
- }
-
- /*
- * 可以避免亂碼的截取漢字
- * 參數(shù) $str 為字符串,,$start 為開始字符,$len 結(jié)束字符
- * 返回截取后的字符
- */
- 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代碼輸出
- * 參數(shù) $msg 為提示信息
- * $direct 為提示類型 0為提示(默認(rèn))1為提示刷新返回 2為提示返回
- * 輸出提示代碼并結(jié)束程序
- */
- 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://提示轉(zhuǎn)向指定頁面
- $script = "location.href=\"".$direct."\";";
- }
- echo "<script language=‘javascript‘>window.alert(‘".$msg."‘);".$script."</script>";
- exit;
- }
-
- /*
- * 功能:取得給定日期所在周的開始日期和結(jié)束日期
- * 參數(shù):$gdate 日期,,默認(rèn)為當(dāng)天,,格式:YYYY-MM-DD
- * $first 一周以星期一還是星期天開始,0為星期天,,1為星期一
- * 返回:數(shù)組array("開始日期", "結(jié)束日期");
- */
- function aweek($gdate = "", $first = 0){
- if(!$gdate) $gdate = date("Y-m-d");
- $w = date("w", strtotime($gdate));//取得一周的第幾天,星期天開始0-6
- $dn = $w ? $w - $first : 6;//要減去的天數(shù)
- $st = date("Y-m-d", strtotime("$gdate -".$dn." days"));
- $en = date("Y-m-d", strtotime("$st +6 days"));
- return array($st, $en);//返回開始和結(jié)束日期
- }
-
- /*
- * 功能:檢測頁面是否合法連接過來
- * 如果為非法,,就轉(zhuǎn)向到登陸窗口
- */
- function checkurl(){
- //如果直接從瀏覽器連接到頁面,就連接到登陸窗口
- //echo "referer:".$_SERVER[‘HTTP_REFERER‘];
- if(!isset($_SERVER[‘HTTP_REFERER‘])) {
- header("location: index.php");
- exit;
- }
- $urlar = parse_url($_SERVER[‘HTTP_REFERER‘]);
- //如果頁面的域名不是服務(wù)器域名,就連接到登陸窗口
- if($_SERVER["HTTP_HOST"] != $urlar["host"]) {
- header("location: index.php");
- exit;
- }
- }
-
- /*
- * 讀取文件內(nèi)容
- * 參數(shù) $file 為文件名及完整路徑
- * 返回文件內(nèi)容
- */
- 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;
- }
- }
- ?>
|