`
xjk2131650
  • 浏览: 57791 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

一个或多个文件上传--php

阅读更多

 

<?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上传多个文件

    在PHP中,上传多个文件是一项常见的任务,尤其在构建交互式Web应用时。这个主题涉及到几个关键知识点,包括HTML表单的设计、PHP处理文件上传以及错误处理。让我们深入探讨一下。 首先,HTML表单是用户选择要上传...

    php同时上传多个文件.rar

    在PHP中,同时上传多个文件是一项常见的功能,尤其在用户需要上传一组图片、文档或其它类型文件时。本文将深入探讨如何实现这个功能,并提供一个实际的多文件上传示例。 1. **表单设计** 要上传多个文件,HTML表单...

    PHP多文件上传类,支持单个和多个文件上传

    5. **多文件上传支持**:类能够处理表单中包含多个`&lt;input type="file"&gt;`元素的情况,一次性上传多个文件,大大提高了用户体验。 6. **详细注释**:类的代码中包含了丰富的注释,方便开发者理解每一步操作的逻辑,...

    php-upload封装类上传文件,多单文件上传.zip

    本压缩包“php-upload封装类上传文件,多单文件上传.zip”提供了一个完整的PHP文件上传解决方案,包括单文件和多文件上传功能,并附带了演示示例。 核心知识点: 1. **PHP文件上传原理**:PHP通过`$_FILES`全局变量...

    php多文件上传类.zip

    "php多文件上传类.zip" 提供了一个专为处理这种需求设计的类库,它允许用户同时上传多个文件,提高了工作效率,简化了代码实现。下面将详细介绍这个多文件上传类的主要功能和使用方法。 1. **类库简介** 这个多...

    PHP多文件上传插件,PHP+jQuery+Ajax多图片上传

    用户可以选择多个文件,jQuery会读取这些文件并使用Ajax发送到服务器。 2. **jQuery插件**:例如`jQuery.form.js`或`jQuery.fileupload.js`,它们提供了方便的API来处理多文件上传。这些插件可以监听文件选择事件,...

    php支持单个或者多个文件上传类

    这个名为"php支持单个或者多个文件上传类"的文件上传类,应该包含以下核心功能: 1. **初始化**:在实例化类时,可以设置允许的文件类型、最大文件大小、目标上传目录等参数。 2. **验证**:类应包含验证功能,...

    web页面多选上传文件的实现(浏览器-打开文件-可选多个文件来上传).源代码

    传统的文件上传方式通常只允许用户选择一个文件,但随着技术的发展,现在我们可以实现多选文件上传功能,让用户能够一次性上传多个文件,极大地提高了用户体验。本教程将探讨如何在网页中实现多选文件上传,基于提供...

    php多文件上传实例

    在标题"php多文件上传实例"中,我们可以推断出这是一个关于PHP编程的教程,特别关注的是如何处理用户通过表单提交的多个文件。 首先,我们要理解PHP中的文件上传机制。这涉及到HTTP协议中的multipart/form-data编码...

    PHP文件上传类

    - 一个PHP文件上传类通常包含一系列的方法,如`upload()`用于执行实际的文件上传操作,`checkFileSize()`用于检查文件大小,`checkFileType()`用于验证文件类型,`renameFile()`用于重命名文件,以及`handleError()...

    php实现多文件上传

    这个功能允许用户一次选择并上传多个文件,如图片、文档等。以下是对如何实现这一功能的详细讲解: 一、HTML表单设计 首先,你需要在HTML页面中创建一个表单,让用户能够选择多个文件。使用`&lt;input&gt;`标签的`type=...

    PHP 5.2 标准课程中级多个文件上传实例-2-2

    PHP 5.2 标准课程中级多个文件上传实例_2_2

    PHP 5.2 标准课程中级多个文件上传实例-2-1

    PHP 5.2 标准课程中级多个文件上传实例_2_1

    okhttp多文件上传

    在IT行业中,网络通信是应用...通过理解这些步骤,你能够有效地实现在Android或Java应用中上传多个文件到服务器。在提供的压缩包文件ClassBiao.zip和PictureDemo.zip中,可能包含了示例代码,你可以进一步研究和学习。

    php一次上传多个文件,多文件上传功能.zip

    在HTML5中,我们可以使用`&lt;input type="file" multiple&gt;`来创建一个允许用户选择多个文件的输入框。例如: ```html &lt;form action="upload.php" method="post" enctype="multipart/form-data"&gt; []" multiple&gt; ``...

    一个php文件上传处理类库

    在PHP中,类库通常会定义一个或多个类,这些类提供了处理特定任务的方法和属性。在这个案例中,我们可能会找到一个名为`Upload`的类,它负责处理文件上传的各个方面。 文件上传处理涉及以下几个关键知识点: 1. **...

    bootstrap-fileinput-master(文件上传)

    这款组件不仅支持单个文件上传,还允许用户一次性选择并上传多个文件,大大提升了用户体验。 在设计上,Bootstrap-fileinput 遵循了Bootstrap的简洁、响应式原则,能够自适应不同的设备和屏幕尺寸。它的主要特点...

    PHP 5.2 标准课程中级多个文件上传实例-2

    PHP 5.2 标准课程中级多个文件上传实例_2

    php文件上传插件(简洁好用的上传插件)

    总之,这款PHP文件上传插件为开发者提供了一个便捷且安全的工具,使文件上传功能的实现变得更加简单。理解并掌握上述知识点,你就能充分利用这款插件,为你的项目添加高效、可靠的文件上传功能。

    plupload-php批量上传图片-jquery

    Plupload是一个强大的、跨浏览器的文件上传组件,支持断点续传、多线程上传、各种文件类型检测等功能,特别适合处理大文件或大量文件的上传需求。 描述中的“适用于php批量上传图片,多个图片一起上传效果!”意味...

Global site tag (gtag.js) - Google Analytics