关于我们┊AboutMe

昵称:Hopol(■童■)

联系:QQ:18883

邮箱:info(at)18883.com

主页:www.18883.com

手机浏览 日志归档 RSS 2.0 订阅
Register | Login

多菜鸟的PHP常用函数类

<?php
class useful{
/* 
     * 常用函数类
     * 作     者:多菜鸟
     * 联系邮箱:kingerq AT msn DOT com
     * 创建时间:2005-07-18
     * 来源:http://blog.csdn.net/kingerq
     */
    
/*
     * 功能:格式化数字,以标准MONEY格式输出
     */
     
function formatnumber($num){
     return 
number_format($num2"."",");
}
    
/*
     * 功能:格式化文本,将\n转成<br>等
     * 参数:$string 来源字符串
     * 返回:处理后的字符串
     */
function formatstring($string ""){
     
$string preg_replace(array("/ /""/ /"), array("&nbsp;""&nbsp;&nbsp;"), $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(" ", "&nbsp;", $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 >= ) return $num.$type[$j];
     
$num $num 1024;
     
$j++;
     }
     return 
$num.$type[$j];
}
    
/*
     * 功能:不足3的倍数位的数字,用0补足
     * $num 需补充的数字
     * 返回补充完整的数字串
     */
function prefix($num){
     if( 
strlen$num ) % == ) {
     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$i1)) > 0xa0) { 
     
$tmpstr .= substr($str$i2); 
     
$i++; 
     } else 
     
$tmpstr .= substr($str$i1); 
     } 
     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($fpfilesize($file))){
     
$tdata .= $data;
     }
     
fclose($fp);
     return 
$tdata;
}
}
?>

Tags: php, 函数,

« 上一篇 | 下一篇 »

只显示10条记录相关文章

dede5.1 UTF8商业版 (浏览: 231, 评论: 1)
dede5.1 BGK商业版 (浏览: 255, 评论: 0)
MyPic图片管理系统 (浏览: 161, 评论: 0)
PHP 美女写真 Cms (浏览: 207, 评论: 0)
Google translator API ( PHP 5 class ) (浏览: 192, 评论: 0)
MyPic v1.0 (MyPic图片管理系统) (浏览: 288, 评论: 0)
PHP在图片上写上中文[备份] (浏览: 203, 评论: 0)
DEDECMS 模板收藏 【极限资讯网】 (浏览: 494, 评论: 0)
DEDECMS 模板收藏 【CK女性站】 (浏览: 493, 评论: 0)
DEDECMS 模板收藏 【淡蓝色完整风格V1.1】 (浏览: 499, 评论: 0)

发表评论