PHP实例上传多个图片并校验的代码

2012 年 12 月 29 日4320

PHP实例上传多个图片并校验的代码

CND8学院 PHP教程 发布日期:2012年12月18日


  单张的图片上传是不复杂的,这里涉及到多张图片上传和对图片格式的校验,保证上传的一定是图片,防止上传其他文件到服务器。
  
  基本实现算法是使用数组的形式,把所有的图片提交个一个数组,对数组的元素进行一个个的处理。
  
  以下为引用的内容:
  
  <?php
  
  //图片目录
  
  $img_dir="../upload/";
  
  //……html显示上传界面
  
  /*图片上传处理*/
  
  //把图片传到服务器
  
  //初始化变量
  
  $uploaded=0;
  
  $unuploaded=0;
  
  //只允许五张图片上传
  
  for($i=0;$i<=5;$i++)
  
  {
  
  //获取当前图片的信息
  
  $is_file=$_FILES['imgfile']['name'][$i];
  
  //如果当前图片不为空
  
  if(!empty($is_file))
  
  {
  
  //把当前图片的信息存储到变量里
  
  $result[$i]="
  
  <trclass=td2align=center>
  
  <td>".$_FILES['imgfile']['name'][$i]."</td>
  
  <td>".round($_FILES['imgfile']['size'][$i]/1024,2)."K</td>
  
  <td>".$_FILES['imgfile']['type'][$i]."</td>
  
  <td>";
  
  //判断上传的图片的类型是不是jpg,gif,png,bmp中的一种,同时判断是否上传成功
  
  if(
  
  $_FILES['imgfile']['type'][$i]=="image/pjpeg"||
  
  $_FILES['imgfile']['type'][$i]=="image/gif"||
  
  $_FILES['imgfile']['type'][$i]=="image/x-png"||
  
  $_FILES['imgfile']['type'][$i]=="image/bmp"
  
  )
  
  {
  
  //如果上传的文件没有在服务器上存在
  
  if(!file_exists($img_dir.$_FILES['imgfile']['name'][$i]))
  
  {
  
  //把图片文件从临时文件夹中转移到我们指定上传的目录中
  
  move_uploaded_file($_FILES['imgfile']['tmp_name'][$i],
  
  $img_dir.$_FILES['imgfile']['name'][$i]);
  
  $result[$i].="成功";
  
  $uploaded++;
  
  }
  
  else//如果文件已经在服务器上存在
  
  {
  
  $result[$i].="<fontcolor=red>文件已存在</font>";
  
  $unuploaded++;
  
  continue;
  
  }
  
  }
  
  else
  
  {
  
  $result[$i].="<fontcolor=red>失败</font>";
  
  $unuploaded++;
  
  }
  
  $result[$i].="</td></tr>";
  
  }//endif
  
  }//endfor
  
  //如果没有选择任何图片
  
  if(empty($result))
  
  {
  
  prompt_msg("错误信息","没有选择任何图片。","返回上一步","uploadimg.php?action=upload");
  
  exit();
  
  }
  
  //显示所有上传后的结果
  
  echo"<tablecellpadding=4cellspacing=1border=0class=tablewidth=400align=left>
  
  <trclass=navialign=center>
  
  <td>文件名</td>
  
  <td>大小</td>
  
  <td>类型</td>
  
  <td>上传结果</td>
  
  </tr>
  
  ";
  
  foreach($resultas$value)
  
  {
  
  echo$value;
  
  }
  
  echo"<trclass=td1>
  
  <tdcolspan=4>共上传".($uploaded+$unuploaded).",成功:$uploaded,失败:<fontcolor=red>$unuploaded</font></td>
  
  </tr>
  
  <trclass=navi>
  
  <tdcolspan=4align=center>[<ahref='uploadimg.php?action=upload'title='继续上传'>继续上传</a>]&nbsp;&nbsp;&nbsp;&nbsp;[<ahref='image.php'title='浏览图片'>浏览图片</a>]</td>
  
  </tr>
  
  </table>
  
  ";
  
  ?>

相关文章:

用文本作数据处理

如何用php作线形图的函数

细数PHP程序的一些缺陷(2)

PHP和ASP.NET代码哪个运行速度更快

PHP教程:smarty学习指南

网站当前的在线人数

PHP验证码工具-Securimage

用libtemplate实现静态网页生成

一个简单的PHP入门源程序

PHP系列教程:设计模式介绍Ⅴ注册模式

点这里查看更多PHP教程

0 0