中华网络安全联盟 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 进程知识 技术论坛
中华网络安全联盟 >> 程序开发 >> PHP >> PHP实例:上传多个图片并校验的代码
程序开发
Asp
PHP
JSP
CGI/Perl
XML
.Net
C/C++/C#
Visual Basic
Visual C++
Delphi
Java
汇编语言
php escapeshellcmd多
详细讲解PHP中缓存技术
利用PHP V5开发多任务
详细解析 PHP 向 MySQ
PHP实现静态发布的方法
PHP技术进阶 用PHP处理
解决RHAS3中Apache2PH
如何才能将数据从文本
PHP实例:上传多个图片并校验的代码
字体:

中华网络安全联盟    作者:奇趣    来源:奇趣技术网    时间:2008-5-22 15:55:40

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


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

<?php

Webjx.Com


// 图片目录
$img_dir = "../upload/";
// …… html 显示上传界面 Webjx.Com

/* 图片上传处理 */
// 把图片传到服务器
// 初始化变量

$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 (

Webjx.Com

                     $_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> ] &nbsp;&nbsp;&nbsp;&nbsp;[ <a href='image.php' title='浏览图片'>浏览图片</a> ]</td>
     </tr>
   </table>
       ";
?> Webjx.Com

本文来自:网页教学网(www.webjx.com)原文链接:http://www.webjx.com/php/php_2007_11_01_331.html

字体:
 
设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
Copyright©2006-2008 中华网络安全联盟 All rights reserved.