Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198654
  • 博文数量: 264
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 2740
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-03 13:25
文章分类

全部博文(264)

文章存档

2011年(1)

2009年(263)

我的朋友

分类:

2009-06-03 15:38:34

针对KindEditor 在线编辑器中的PHP上传文件进行修改。
php

#*********************************************************

#文件名称: yl_upload.class.php

#功能描述: 印像上传类

#程序制作:留印(adleyliu)

#联系qq  :14339095

#联系邮箱:[email=adleyliu@163.com][color=#0000ff]adleyliu@163.com[/color][/email]

#官方网站: [url=][url=][color=#0000ff][/color][/url][/url]

#Copyright (C) 2007-2008 115000.com.cn all rights reserved.

#最后更新:     2007-11-11

#注:转发时请保留此声明信息,这段声明不并会影响你的速度!

#如有修改请将修改后的文件以邮件形式发送给作者一份,谢谢!

#

#*********************************************************

/*

//使用说明:

//声明一个上传类

   $yl_upload = new yl_upload_class(); 

//设置参数

   global $yl_filedata,$yl_directroy,$file_urldirectroy,$yl_settingsnew;

   global $yl_maxsize,$yl_sizeformat,$yl_arrext,$yl_ext;

   $yl_filedata = 'filedata';//表单

   $yl_directroy = '../upload_file';//上传主目录

   $file_urldirectroy = 'upload_file';//文件url(在编辑器KindEditor中用到,请查看upload.php实例)

   $yl_settingsnew = 'month_'.date('Ym');//上传主目录1按版块存入不同目录,2按月份存入不同目录,3按天存入不同目录

   $yl_maxsize = 2097152;  //这里以字节为单位(1024*2)*1024=2097152 = 2M

   $yl_sizeformat = 'k';   //显示文件大小单位b,k,m

   $yl_arrext = array('gif','jpg','jpeg','png','bmp');//允许上传文件类型

   $yl_ext = 0;  //0原文件类型上传,1统一为存为jpg

//上传

   $yl_upload -> yl_uploadfile();

*/

class yl_upload_class

{

#*********************************************************

#创建目录函数

#*********************************************************

function createfolder($yl_path)

{

   if (!
file_exists($yl_path))

   {

    
$this -> createfolder(dirname($yl_path));

    @
mkdir($yl_path0777);

   }

   return 
$this -> createfolder;

}

#*********************************************************

#获取文件名称,大小,类型,临时文件名

#*********************************************************

function yl_getfilename($yl_type)

{

   global 
$yl_filedata,$yl_directroy,$yl_settingsnew;

   global 
$yl_maxsize,$yl_sizeformat,$yl_arrext,$yl_ext;

   return 
$_FILES[$yl_filedata][$yl_type];

}

#*********************************************************

#获取文件大小

#*********************************************************

function yl_getfilesize()

{

   global 
$yl_filedata,$yl_directroy,$yl_settingsnew;

   global 
$yl_maxsize,$yl_sizeformat,$yl_arrext,$yl_ext;

   if(
$this -> yl_getfilename('size') == 0){

      
$this -> alert("请选择上传文件!");

      exit;

   }

   if(
$this -> yl_getfilename('size') > $yl_maxsize){

         
$yl_maxsizek=$yl_maxsize/1024;

      
$this -> alert("上传文件超出限制范围$yl_maxsizek.K!");

      exit;

   }

   switch (
strtolower($yl_sizeformat)){

   case 
'b':

   return 
$this -> yl_getfilename('size') . ' B';

   break;

   case 
'k':

   return (
$this -> yl_getfilename('size')/1024) . ' K';

   break;

   case 
'm':

   return (
$this -> yl_getfilename('size'))/(1024*1024) . ' M';

   }

}

#*********************************************************

#获得文件扩展名

#*********************************************************

function yl_getfiletype()

{

   global 
$yl_filedata,$yl_directroy,$yl_settingsnew;

   global 
$yl_maxsize,$yl_sizeformat,$yl_arrext,$yl_ext;

     
$yl_temp_arr explode("."$this -> yl_getfilename('name'));

     
$yl_file_ext array_pop($yl_temp_arr);

      
$yl_file_ext trim($yl_file_ext);

     
$yl_file_ext strtolower($yl_file_ext);

     
//检查扩展名

     
if (in_array($yl_file_ext$yl_arrext) === false) {

        
$this -> alert("上传文件类型被限制!");

        exit;

     }

     return 
$yl_file_ext;

}

#*********************************************************

#上传

#*********************************************************

function yl_uploadfile()

{

   global 
$yl_filedata,$yl_directroy,$file_urldirectroy,$yl_settingsnew;

   global 
$yl_maxsize,$yl_sizeformat,$yl_arrext,$yl_ext;

   
$yl_file_nameold $this -> yl_getfilename('name');//原文件名

   
$yl_file_namenews date('Ymd').'_'.md5(date('YmdHis'));//重命名

   
if($yl_ext == 0){

      
$yl_file_names $yl_file_namenews.'.'.$this -> yl_getfiletype();//改名

   
}elseif ($yl_ext == 1){

      
$yl_file_names $yl_file_namenews.'.jpg';//统一改名为jpg

      
}

   
$yl_tmp_name $this -> yl_getfilename('tmp_name');//服务器上临时文件名

   
$yl_file_size $this -> yl_getfilesize();//获取文件大小

   
$yl_file_type $this -> yl_getfiletype();//获取文件类型

   
$yl_file_path $yl_directroy.'/'.$yl_settingsnew;//建立一个目录

     //检查目录是否存在,不存在则创建

     
if(@is_dir($yl_file_path) === false) {

      
$this -> createfolder(''.$yl_file_path.'');//创建目录

     
}

     
//检查是否已上传

   
if(@is_uploaded_file($yl_tmp_name) === false) {

        
$this -> alert("文件已上传!");

        exit;

   }

     
//检查目录写权限

     
if (@is_writable($yl_file_path) === false) {

          
$this -> alert("上传目录没有写权限!");

          exit;

     }

   
$yl_doupload = @copy($yl_tmp_name''.$yl_file_path.'/'.$yl_file_names.'');

   if(
$yl_doUpload === false)

   {

    
$this -> alert("上传失败!");

   }else{

    echo 
'上传成功';

    echo 
'
'
;

    echo 
'文件目录:'.$yl_file_path.'';

    echo 
'
'
;

    echo 
'原文件名:'.$yl_file_nameold.'';

    echo 
'
'
;

    echo 
'新文件名:'.$yl_file_names.'';

    echo 
'
'
;

    echo 
'文件大小:'.$yl_file_size.'';

    echo 
'
'
;

    echo 
'文件类型:'.$yl_file_type.'';

   }

    return;

}

#*********************************************************

#*删除文件 

#*********************************************************

function delfile()

{

   global 
$yl_filedata,$yl_directroy,$yl_settingsnew;

   global 
$yl_maxsize,$yl_sizeformat,$yl_arrext,$yl_ext;

   
$yl__dir dirname(trim($yl_directroy));

   if( 
$this->_isDel$yl__dir ) )

   {

      return @
unlink$yl_directroy ) ? true false;

   }else{

   return 
false;

   }

}

#*********************************************************

#删除目录 目录下如果有文件不能删除

#*********************************************************

function deldir( )

{

   global 
$yl_filedata,$yl_directroy,$yl_settingsnew;

   global 
$yl_maxsize,$yl_sizeformat,$yl_arrext,$yl_ext;

   if( 
$this->_isdel($yl_directroy) && is_dir$yl_directroy ) )

   {

      return @
rmdir$yl_directroy ) ? true false;

   }else{

      return 
false;

   }

}

#*********************************************************

#提示

#*********************************************************

function alert($yl_msg)

{

    echo 
'<html>';

    echo 
'';

    echo 
'error';

    echo 
'';

    echo 
'';

    echo 
'';

    echo 
'javascript">alert("'
.$yl_msg.'");;';

    echo 
' ';

    echo 
'';

    exit;

}

}

?>


这个类可以直接拿来用
主要是对KindEditor 在线编辑器中PHP上传文件进行的修改封装。

可以扩展对上传后的图片进行管理,
要不然这种上传后冗余图片文件太多。
阅读(147) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~