<?php
/*
* 作者 可可
* 日期 2011-1-20
*/
/*
* $field 指定form表单中的input字段名
* $type 指定上传的文件类型
* $dir 指定文件保存的路径,相对于站点根路径的相对路径(以/开始和结尾)
* $maxsize 限制上传文件的大小(单位字节),默认不限制
* 返回值 "error"代表上传错误,"type"代表类型不允许,"size"代表文件太大,上传成功返回保存后的文件名
*/
function uploadfile($field,$type,$dir,$maxsize=0){
if($_FILES[$field]!=null){
$file=$_FILES[$field];
if($file[error]==1)return "error";
if($type!=strstr($file[type],"/",true))return "type";
if($maxsize>0&&$file[size]>$maxsize)return "size";
if(!is_dir($dir))mkdir($dir);
list($second,$unix)=explode(" ",microtime());
$name=$unix.($second*100000000).strstr($file[name],".");//根据时间为上传的文件重新命名,精确到微秒
move_uploaded_file($file[tmp_name], $dir.$name);
return $name;
}
}
/*
* $field 指定form表单中的input字段名最后以[]结尾,例如:image[]
*/
function uploadfile_table($field,$type,$dir,$maxsize=0){
if($_FILES[$field]!=null){
$file=$_FILES[$field];
$count=count($file[name]);
$arr=array();
if(!is_dir($dir))mkdir($dir);
for($i=0;$i<$count;$i++){
if($file[error][$i]==1){
$arr[$i]="error";
continue;
}
if($type!=strstr($file[type][$i],"/",true)){
$arr[$i]="type";
continue;
}
if($maxsize>0&&$file[size][$i]>$maxsize){
$arr[$i]="size";
continue;
}
list($second,$unix)=explode(" ",microtime());
$name=$unix.($second*100000000).strstr($file[name][$i],".");
move_uploaded_file($file[tmp_name][$i], $dir.$name);
$arr[$i]=$name;
}
return $arr;
}
}
echo "<pre>";
//print_r(uploadfile("upimage", "image", $_SERVER['DOCUMENT_ROOT']."/picture/",5120));//上传单个文件
print_r(uploadfile_table("upimage", "image", $_SERVER['DOCUMENT_ROOT']."/picture/"));//上传多个文件
echo "</pre>"
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>上传多个文件</title>
</head>
<body>
<form name="myform" action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="upimage[]">
<input type="file" name="upimage[]">
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
分享到:
相关推荐
在PHP中,上传多个文件是一项常见的任务,尤其在构建交互式Web应用时。这个主题涉及到几个关键知识点,包括HTML表单的设计、PHP处理文件上传以及错误处理。让我们深入探讨一下。 首先,HTML表单是用户选择要上传...
在PHP中,同时上传多个文件是一项常见的功能,尤其在用户需要上传一组图片、文档或其它类型文件时。本文将深入探讨如何实现这个功能,并提供一个实际的多文件上传示例。 1. **表单设计** 要上传多个文件,HTML表单...
5. **多文件上传支持**:类能够处理表单中包含多个`<input type="file">`元素的情况,一次性上传多个文件,大大提高了用户体验。 6. **详细注释**:类的代码中包含了丰富的注释,方便开发者理解每一步操作的逻辑,...
本压缩包“php-upload封装类上传文件,多单文件上传.zip”提供了一个完整的PHP文件上传解决方案,包括单文件和多文件上传功能,并附带了演示示例。 核心知识点: 1. **PHP文件上传原理**:PHP通过`$_FILES`全局变量...
"php多文件上传类.zip" 提供了一个专为处理这种需求设计的类库,它允许用户同时上传多个文件,提高了工作效率,简化了代码实现。下面将详细介绍这个多文件上传类的主要功能和使用方法。 1. **类库简介** 这个多...
用户可以选择多个文件,jQuery会读取这些文件并使用Ajax发送到服务器。 2. **jQuery插件**:例如`jQuery.form.js`或`jQuery.fileupload.js`,它们提供了方便的API来处理多文件上传。这些插件可以监听文件选择事件,...
这个名为"php支持单个或者多个文件上传类"的文件上传类,应该包含以下核心功能: 1. **初始化**:在实例化类时,可以设置允许的文件类型、最大文件大小、目标上传目录等参数。 2. **验证**:类应包含验证功能,...
传统的文件上传方式通常只允许用户选择一个文件,但随着技术的发展,现在我们可以实现多选文件上传功能,让用户能够一次性上传多个文件,极大地提高了用户体验。本教程将探讨如何在网页中实现多选文件上传,基于提供...
在标题"php多文件上传实例"中,我们可以推断出这是一个关于PHP编程的教程,特别关注的是如何处理用户通过表单提交的多个文件。 首先,我们要理解PHP中的文件上传机制。这涉及到HTTP协议中的multipart/form-data编码...
- 一个PHP文件上传类通常包含一系列的方法,如`upload()`用于执行实际的文件上传操作,`checkFileSize()`用于检查文件大小,`checkFileType()`用于验证文件类型,`renameFile()`用于重命名文件,以及`handleError()...
这个功能允许用户一次选择并上传多个文件,如图片、文档等。以下是对如何实现这一功能的详细讲解: 一、HTML表单设计 首先,你需要在HTML页面中创建一个表单,让用户能够选择多个文件。使用`<input>`标签的`type=...
PHP 5.2 标准课程中级多个文件上传实例_2_2
PHP 5.2 标准课程中级多个文件上传实例_2_1
在IT行业中,网络通信是应用...通过理解这些步骤,你能够有效地实现在Android或Java应用中上传多个文件到服务器。在提供的压缩包文件ClassBiao.zip和PictureDemo.zip中,可能包含了示例代码,你可以进一步研究和学习。
在HTML5中,我们可以使用`<input type="file" multiple>`来创建一个允许用户选择多个文件的输入框。例如: ```html <form action="upload.php" method="post" enctype="multipart/form-data"> []" multiple> ``...
在PHP中,类库通常会定义一个或多个类,这些类提供了处理特定任务的方法和属性。在这个案例中,我们可能会找到一个名为`Upload`的类,它负责处理文件上传的各个方面。 文件上传处理涉及以下几个关键知识点: 1. **...
这款组件不仅支持单个文件上传,还允许用户一次性选择并上传多个文件,大大提升了用户体验。 在设计上,Bootstrap-fileinput 遵循了Bootstrap的简洁、响应式原则,能够自适应不同的设备和屏幕尺寸。它的主要特点...
PHP 5.2 标准课程中级多个文件上传实例_2
总之,这款PHP文件上传插件为开发者提供了一个便捷且安全的工具,使文件上传功能的实现变得更加简单。理解并掌握上述知识点,你就能充分利用这款插件,为你的项目添加高效、可靠的文件上传功能。
Plupload是一个强大的、跨浏览器的文件上传组件,支持断点续传、多线程上传、各种文件类型检测等功能,特别适合处理大文件或大量文件的上传需求。 描述中的“适用于php批量上传图片,多个图片一起上传效果!”意味...