php上传多个图片并校验的代码

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

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

以下为引用的内容:
<?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>";
$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>
";
?>

时间: 2024-10-30 10:49:13

php上传多个图片并校验的代码的相关文章

php+ajax实现异步上传文件或图片功能

本文为大家分享了ajax异步上传文件或图片功能的具体代码,供大家参考,具体内容如下 //html代码 <form enctype="multipart/form-data" id="upForm"> <input type="file" name="file" ><br><br> <input type="button" value="提交&q

自动预览上传图(图片预览)]

上传 自动预览上传图(图片预览)powered BY AIRZEN 2004/05/21 作者信息:Author:airzen QQ:39192170E-mail:airzen@sohu.com 转贴请保留作者信息,谢谢 <input name="w_s" type="file" id="w_s" onChange="load_img(this.value,img_s);"><input name="

无组件上传文字与图片至数据库之gztiger解决方案

解决|上传|数据|数据库|无组件 曾一度为图片与文字上传至数据库困扰,<化境无组件上传图片2.0>写得很好,但不是完全适合自己.经过认真阅读源代码.修改与测试,将其改为无组件上传多条文字信息与多张图片至数据库.并在iis5+access2000+asp测试通过.现把源代码公布,希望能对那些曾经也被这问题困扰的朋友有所帮助.同时希望各位同道斧正. 声明:<化境无组件上传图片2.0>并非我写的,在此对<化境无组件上传图片2.0>的作者真诚说声:谢谢!代码如下: upfile

Windows Phone 8开始支持上传高清图片及视频至SkyDrive的功能

微软近日在官博上宣布,Windows Phone 8用户也能享受到上传高清图片及视频至SkyDrive的功能.微软介绍道,用户在使用这个功能时需要进入照片-更多-设置-SkyDrive,然后点击"最高质量"即可实现上传高清图片或视频到SkyDrive的功能. 这里提醒一点,在使用这个功能的时候,用户必须要保证是在WiFi网络的环境下进行,不然可得承受昂贵的流量费用了.

Asp.net图片上传实现预览效果的简单代码

这篇文章介绍了Asp.net图片上传实现预览效果的简单代码,有需要的朋友可以参考一下   在页面上放入一个上传控件和一个图片控件. 复制代码 代码如下:  <asp:FileUpload ID="FileUpload1" runat="server" onpropertychange="show(this.value)"/>         <asp:Image ID="Image1" runat="

android 开发 怎么向服务器上传视频和图片文件啊!

问题描述 android 开发 怎么向服务器上传视频和图片文件啊! 做到这里卡住了 希望会的大神指导下! 解决方案 http://download.csdn.net/download/tianzhu15/4568311 解决方案二: http://blog.csdn.net/jdsjlzx/article/details/44160603 解决方案三: 上传图片/文件到服务器java 上传文件以及各种视频图片!

asp.net 如何上传正反面身份证图片到数据库

问题描述 asp.net 如何上传正反面身份证图片到数据库 各位大神指教一下,给点详细代码可以吗 解决方案 http://www.cnblogs.com/xiaoyao2011/archive/2011/09/25/2189999.html 解决方案二: http://www.jb51.net/article/24339.htm 解决方案三: 就是上传图片呀,把图片以十进制的格式存入数据库.可以参考部分代码 使用三层完成 1.从数据库读取图片,直接通过网格控件的DataSource绑定显示即可

html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器

原文:html5 图片上传,支持图片预览.压缩.及进度显示,兼容IE6+及标准浏览器 以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上传组件添加了单独的图片上传UI,支持图片预览和缩放(通过调整图片的大小以实现图片压缩). 上传组件特点 轻量级,不依赖任何JS库,核心代码(Q.Uploader.js)仅约700行,min版本加起来不到12KB 纯

IE+JS: 上传之前检测图片文件大小October

 来源: http://www.ugia.cn/?p=73 不得不佩服此人的巧妙的思想,简单几句话搞定了! 文件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件.不过在IE下img有几个附加的属性,如:fileCreatedDate.fileModifiedDate.fileSize.fileUpdatedDate.filters,我们可以通过这些属性来获取图片文件的部分信息,如文件大小,我们用file表单同img标签结合,就能够在上