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

单张的图片上传是不复杂的,这里涉及到多张图片上传和对图片格式的校验,保证上传的一定是图片,防止上传其他文件到服务器。

基本实现算法是使用数组的形式,把所有的图片提交个一个数组,对数组的元素进行一个个的处理。

<?php
/*********************************************
 *  文件:uploadimg.php
 *  用途:图片上传程序
 *  版本:v1.0
 *  创建:2005-03-28 11:07
 *  修改:2005-04-06 08:43
 *  版权:heiyeluren
 *********************************************/

// 图片目录
$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>";
                            $unuploaded++;
                            continue;
                     }
              }
              else
              {
                     $result[$i] .= "<font color=red>失败</font>";
                     $unuploaded++;
              }
              $result[$i] .= "</td></tr>";
       } //end if
} // end for
 

// 如果没有选择任何图片
if (empty($result))
{
       prompt_msg("错误信息", "没有选择任何图片。", "返回上一步", "uploadimg.php?action=upload" );
       exit();
}

// 显示所有上传后的结果
echo " <table cellpadding=4 cellspacing=1 border=0 class=table width=400 align=left>
       <tr  class=navi align=center>
          <td>文件名</td>
          <td>大小</td>
          <td>类型</td>
          <td>上传结果</td>
       </tr>
       ";

foreach( $result as $value)
{
       echo $value;
}

echo "<tr  class=td1>
      <td colspan=4>共上传 " . ($uploaded + $unuploaded) . ", 成功: $uploaded, 失败:<font color=red> $unuploaded</font> </td>
      </tr>
      <tr class=navi>
       <td colspan=4 align=center>[ <a href='uploadimg.php?action=upload' title='继续上传'>继续上传</a> ]     [ <a href='image.php' title='浏览图片'>浏览图片</a> ]</td>
     </tr>
   </table>
       ";
?>

时间: 2024-09-20 00:14:39

PHP中多张图片上传并校验的实现的相关文章

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

单张的图片上传是不复杂的,这里涉及到多张图片上传和对图片格式的校验,保证上传的一定是图片,防止上传其他文件到服务器. 基本实现算法是使用数组的形式,把所有的图片提交个一个数组,对数组的元素进行一个个的处理. <?php /********************************************* * 文件:uploadimg.php * 用途:图片上传程序 * 版本:v1.0 * 创建:2005-03-28 11:07 * 修改:2005-04-06 08:43 * 版权:hei

七牛云存储-java+android 实现多张图片上传至七牛云上面???

问题描述 java+android 实现多张图片上传至七牛云上面??? 新手,刚入行,最近有个需求是要实现多张图片上传,上传至七牛云存储上面,查了一些,仅仅一些概念就理不清了,求能给个具体的实例,非常感谢... 解决方案 首先得到上传接口,剩下的就是遍历图片,一个个调用接口 解决方案二: 可以和七牛云的技术支持联系下,让他们派点工程师协助你们团队开发. 解决方案三: 多线程异步上传操作,很多第三方框架的... 解决方案四: 找七牛云技术支持,网上再找下很多多图片上传demo的 解决方案五: 额,

ASP中实现文件上传方法的研究

上传 摘要:在基于浏览器/服务器的应用环境中,在浏览器中上传各种类型的文件一直是困扰用户文件管理应用的难题之一.在HTTP中上传文件有三种机制:RFC1867,PUT和WebDAV.常用的实现方法是利用在RFC1867中引入的一个新类型:File以及ADO Stream对象.本文对上述上传方法及实现原理作了论述,并给出了具体解决实例. 关键词:ASP 组件 FILE对象 当前,基于浏览器/服务器模式的应用比较流行.当用户需要将文件传输到服务器上时,常用方法之一是运行FTP服务器并将每个用户的FT

如何在Web页面中集成文件上传功能

当前,个人主页制作非常流行.当用户开发好自己的页面时,需要将文件传输到服务器上,解决这个问题的方法之一是运行FTP服务器并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的 Web目录.由于Windows NT 和 Windows98均不提供直接的基于窗口形式的FTP客户程序,用户必须懂得如何使用基于命令行的FTP客户,或掌握一种新的基于窗口形式的FTP客户程序.因此,这种解决方案仅对熟悉FTP且富有经验的用户来说是可行的. 如果我们能把文件上传功

在webclass中使用文件上传功能

web|上传 在webclass中使用文件上传功能 webclass实例:http://www.shinco.com/jjx/wcnews/news.asp许多文件上传组件并不能在vb中正常使用,我测试了chinaasp fileup,aspSmartupload,aspupload enterprise,inotesupload等组件,均不能正常使用.其主要原因,是因为在vb中没有促发组件的OnStartPage过程.我们无法改写这些组件,所以要自己编码来解决这个问题,记得以前有网友谈过这个问

在Node.js中使用HTTP上传文件的方法

  这篇文章主要介绍了在Node.js中使用HTTP上传文件的方法,作者以windows下的visual studio作为操作node的环境,推荐阅读!需要的朋友可以参考下 开发环境 我们将使用 Visual Studio Express 2013 for Web 作为开发环境, 不过它还不能被用来做 Node.js 开发.为此我们需要安装 Node.js Tools for Visual Studio. 装好后 Visual Studio Express 2013 for Web 就会转变成一

php中实现图片上传的实例代码

  以下是PHP中实现图片上传的实例代码,第一页是表单页upfiles_frm.php. 代码 标题: 上传文件: 第二页是处理表单页upfiles_add.php 代码 1 2 $mkdir_file_dir = mkdir('./img/'.$_POST['title'],0777); //上传文件的时候就开始创建一个图片相关的目录 3 $tmp_file_name = $_FILES['file']['tmp_name']; //上传成功之后取的临时文件名 4 $file_name = $

java-Java实现自动识别文件夹中图片路径?上传到网站中的 源码,很急

问题描述 Java实现自动识别文件夹中图片路径?上传到网站中的 源码,很急 Java实现自动识别文件夹中图片路径,上传到网站中的 源码,比如,我有一个文件夹,里面有许多图片,需要发布到一个网站 解决方案 你直接复制到服务器不必这个快??? 解决方案二: 这个发布到服务器不是把地址发布到服务器,而是把图片上传的服务器,服务器没有C盘D盘什么的,它是图片上传到服务其的一个指定地址,在把这个地址存入类中对应的数据库字段中,在通过掉用这个地址获得图片,如果是在本地就可以通过String name=fil

编辑器-求kindeditor中多图上传的独立插件

问题描述 求kindeditor中多图上传的独立插件 哎,最近有一个项目需要用到多图上传,想把kindeditor中的那个多图上传独立出来, 找了很多插件,几乎都是根据SWFUPLOAD改的,但感觉就是kindeditor中的那个做的比较好 非常希望有人能够把这个图片上传独立出来,感激不尽! 解决方案 或者找到和这个插件功能,界面,都一模一样的,也可以! 解决方案二: 这个是phpcms里的多图片上传,取自ckedit,单独的功能 解决方案三: 没有啊,你要包含后台的完整代码啊