加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

剖析PHP中多张图片上传并校验的实现

发布时间:2022-04-12 07:03:11 所属栏目:PHP教程 来源:互联网
导读:单张的图片上传是不复杂的,这里涉及到多张图片上传和对图片格式的校验,保证上传的一定是图片,防止上传其他文件到服务器。 基本实现算法是使用数组的形式,把所有的图片提交个一个数组,对数组的元素进行一个个的处理。 ?php /*************************
  单张的图片上传是不复杂的,这里涉及到多张图片上传和对图片格式的校验,保证上传的一定是图片,防止上传其他文件到服务器。
 
  基本实现算法是使用数组的形式,把所有的图片提交个一个数组,对数组的元素进行一个个的处理。
 
  <?php
 
  /*********************************************
 
  * 文件:uploadimg.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] = "
 
  <tr class=td2 align=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] .= "<font color=red>文件已存在</font>";
 
 
  // 如果没有选择任何图片
 
  if (empty(result))
 
  {
 
  prompt_msg("错误信息", "没有选择任何图片。", "返回上一步", "uploadimg.php?action=upload" );
 
  exit();
 
  }
 
  // 显示所有上传后的结果。
 
 
 

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读