php多文件上传

  • 栏目:编程 时间:2020-04-19 03:04
<返回列表

/*多文件上传类修改:Linvo2008-2-15*/classmore_file_upload{constFILE_PATH='../upfileclass/uploadfile/';var$file_type;var$file_type_array;var$file_type_real_array;var$file_type_string;var$file_name;var$file_size;var$file_tmp_name;var$file_error;var$handledate;static$totalsize=0;function__construct($file_name,$file_error,$file_size,$file_tmp_name,$file_type){$this-handledate=date('m-d-Y');if(!empty($file_name)){$this-file_name=$file_name;$this-file_error=$file_error;$this-file_size=$file_size;$this-file_tmp_name=$file_tmp_name;$this-file_type=$file_type;$this-file_type_array=array('/','image/gif','image/jpg','image/jpeg','image/pjpeg','image/png');$this-file_type_real_array=array(0.1,'jpg'=74707370,'gif'=7173,'bmp'=6677,'png'=807871);$this-show_execute_message($this-file_error,$this-file_name,$this-file_type,$this-file_size);}}function__destruct(){$this-file_name=NULL;$this-file_error=NULL;$this-file_size=NULL;$this-file_tmp_name=NULL;$this-file_type=NULL;self::$totalsize=0;}functionshow_execute_message($smfileerror,$smfilename,$smfiletype,$smfilesize){if($smfileerror0){switch($smfileerror){case1:$smfilemessage='strong文件超过服务器的约定大小!/strong';break;case2:$smfilemessage='strong文件超过指定的文件大小!/strong';break;case3:$smfilemessage='strong文件只上传了部分!/strong';break;case4:echo$this-file_name.'文件上传失败!br/';break;}self::__destruct();}else{$smfiletypeflag=array_search($smfiletype,$this-file_type_array);//进行真实格式验证if($smfiletypeflag!=false){$file=fopen($this-file_tmp_name,rb);$bin=fread($file,10);fclose($file);$strInfo=@unpack(c10chars,$bin);$typeCode=intval($strInfo['chars1'].$strInfo['chars2']);$smfiletypeflag=array_search($typeCode,$this-file_type_real_array);if($smfiletypeflag==false){//判断是否是png图片$typeCode=intval($strInfo['chars2'].$strInfo['chars3'].$strInfo['chars4']);$smfiletypeflag=array_search($typeCode,$this-file_type_real_array);if($smfiletypeflag==false){//判断是否是jpg图片$typeCode=intval($strInfo['chars7'].$strInfo['chars8'].$strInfo['chars9']韦德体育 ,.$strInfo['chars10']);$smfiletypeflag=array_search($typeCode,$this-file_type_real_array);}}}if($smfiletypeflag==false){$smfilemessage='strong文件类型不对,请核实!/strong';self::__destruct();}else{$resflag=$this-move_file($this-file_tmp_name,$this-file_name);if($resflag==1){$smfilemessage='文件上传成功!';self::$totalsize+=intval($smfilesize);self::__destruct();}else{$smfilemessage='strong文件上传失败!/strong';self::__destruct();}}}$smfilesizeformat=$this-size_BKM($smfilesize);echo'trtdalign=left'.$smfilename.'/tdtdalign=center'.$smfiletype.'/tdtdalign=center'.$smfilesizeformat.'/tdtdalign=center'.$smfilemessage.'/td/tr';}functionmove_file($mvfiletmp,$mvfilename){//移动文件$mvfilenamearr=explode('.',basename($mvfilename));$mvfilenamearr[0]=$this-rand_string();$mvfilename=implode('.',$mvfilenamearr);if(is_uploaded_file($mvfiletmp)){$uploadfile=self::FILE_PATH.$mvfilename;$result=move_uploaded_file($mvfiletmp,$uploadfile);return$result;}}functionrand_string(){$string=md5(uniqid(rand().microtime()));return$string;}functionsize_BKM($size){//B/KB/MB单位转换if($size1024){$size_BKM=(string)$size.B;}elseif($size(1024*1024)){$size_BKM=number_format((double)($size/1024),1).KB;}else{$size_BKM=number_format((double)($size/(1024*1024)),1).MB;}return$size_BKM;}}

本文实例讲述了PHP多文件上传类。分享给大家供大家参考。具体如下:复制代码 代码如下:handledate=date; if { $this->$file_name = $file_name; $this->$file_error = $file_error; $this->$file_size = $file_size; $this->$file_tmp_name = $file_tmp_name; $this->$file_type = $file_type; $this->$file_type_array = array('/', 'image/gif', 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png'); $this->$file_type_real_array = array(0.1, 'jpg'=>74707370, 'gif'=>7173, 'bmp'=>6677, 'png'=>807871); $this->show_execute_message($this->$file_error,$this->$file_name,$this->$file_type,$this->$file_size); }}function __destruct(){ $this->$file_name = NULL; $this->$file_error = NULL; $this->$file_size = NULL; $this->$file_tmp_name = NULL; $this->$file_type = NULL; $this->$totalsize = 0;}function show_execute_message($smfileerror,$smfilename,$smfiletype,$smfilesize){if{ switch { case 1: $smfilemessage='文件超过服务器的约定大小!';break; case 2: $smfilemessage ='文件超过指定的文件大小!';break; case 3: $smfilemessage='文件只上传了部分!';break; case 4: echo "$this->$file_name ".'文件上传失败!
';break; } self::__destruct();}else{ $smfiletypeflag = array_search($smfiletype,$this->$file_type_array);//进行真实格式验证if($smfiletypeflag != false){$file = fopen($this->$file_tmp_name, "rb");$bin = fread;fclose;$strInfo = @unpack;$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);$smfiletypeflag = array_search($typeCode, $this->$file_type_real_array);if($smfiletypeflag == false){ //判断是否是png图片$typeCode = intval($strInfo['chars2'].$strInfo['chars3'].$strInfo['chars4']);$smfiletypeflag = array_search($typeCode, $this->$file_type_real_array);if($smfiletypeflag == false){ //判断是否是jpg图片$$typeCode = intval($strInfo['chars7'].$strInfo['chars8'].$strInfo['chars9'].$strInfo['chars10']);$smfiletypeflag = array_search($typeCode, $this->$file_type_real_array);}}}if($smfiletypeflag ==

false){$smfilemessage='文件类型不对,请核实!';self::__destruct();}else{$resflag

$$this->move_file($$this->$file_tmp_name,$this->$file_name);if {$smfilemessage = '文件上传成功!';$this->totalsize += intval;self::__destruct();}else{$smfilemessage = '文件上传失败!';self::__destruct();}}}$$smfilesizeformat = $this->size_BKM;echo '

'.$smfilename.'

'.$smfiletype.'

'.$smfilesizeformat.'

'.smfilemessage.'

';}function move_file($mvfiletmp,$mvfilename){ //移动文件$mvfilenamearr = explode('.',basename;$mvfilenamearr[0] = $this->rand_string();$mvfilename = implode;if (is_uploaded_file{$uploadfile = self::FILE_PATH."$mvfilename";$result = move_uploaded_file($mvfiletmp,$uploadfile);return $result;}}function rand_string(){$string = md5.microtime;return $string;}function size_BKM{ // B/KB/MB单位转换if{$size_BKM = $size . " B";}elseif){$size_BKM = number_format . " KB";}else{$size_BKM = number_format,1)." MB";}return $size_BKM;}}?>

希望本文所述对大家的php程序设计有所帮助。

上一篇:否则将创建一个新的对象,//该函数将返回XMLHTTP对象实例 var 下一篇:没有了

更多阅读

php多文件上传

编程 2020-04-19
/*多文件上传类修改:Linvo2008-2-15*/classmore_file_upload{constFILE_PATH='../upfileclass/uploadfile/';var$file_t...
查看全文

否则将创建一个新的对象,//该函数将返

编程 2020-04-19
div id=btest/divscriptfunction createAjax() {//该函数将返回XMLHTTP对象实例 var _xmlhttp; try { _xmlActiveXObjec...
查看全文

用PHP MySQL搭建聊天室

编程 2020-04-19
MySQL并发能力强、响应速度快,是性能优异的数据库软件;PHP是功能强大的服务器端脚本语言。...
查看全文

友情链接: 网站地图

Copyright © 2015-2019 http://www.koi-bumi.com. 韦德体育有限公司 版权所有