富贵资源网 Design By www.hznty.com
本文所述为一个实用的PHP多图片文件上传类,其支持gif、jpg、jpeg、pjpeg、png格式的多图片上传功能,类中还可限制图片类型、上传图片的大小、设置上传目录、一些提交判断等功能。此外该类并不局限于图片的上传,也可以上传TXT/RAR等文件类型,只是需要对代码进行一下修改,感兴趣的读者可以自己尝试一下。
php多图片上传类完整功能代码如下:
<"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 '<tr> <td align="left" >' . smfilename . '</td> <td align="center" >' . smfiletype . '</td> <td align="center" >' . smfilesizeformat . '</td> <td align="center" >' . smfilemessage . '</td> </tr>'; } function move_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; } } function rand_string(){ string = md5(uniqid(rand() . microtime())); return string; } function size_BKM(size){ // B/KB/MB单位转换 if(size < 1024) { 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文件中,并保存文件名为:more_upload_file.class.php,在使用时include该文件即可。
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。