php 多个文件上传
多个文件上传功能,其实很简单与单文件上传区别就是文件名用数组形式,然后获取上传的文件时就利用foreach来个个上传,这样就实现了文件批量上传的功能了,其实也是单文件,只是看上去是多个文件同时上传了.
PHP实例源码如下:
- <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="content-type" content="text/html; charset=gb2312" />
- <title>php 多个文件上传</title>
- </head>
- <body>
- <form action="" method="post" enctype="multipart/form-data" name="form1" >
- <p>
- <label for="select"></label>
- <label for="filefield"></label>
- <input type="file" name="name[]" />
- </p>
- <p>
- <input type="file" name="name[]" />
- </p>
- <p>
- <input type="file" name="name[]" />
- </p>
- <p>
- <input type="file" name="name[]" />
- </p>
- <p>
- <input type="file" name="name[]" />
- </p>
- <p>
- <input type="submit" name="button" value="批量文件上传" />
- </p>
- </form>
- </body>
- </html>
- <?php
- foreach($_files as $f)
- {
- //处理中文名
- if (function_exists("iconv")) $f[name] = iconv("utf-8","gb2312",$f[name]);
- $unm=intval(mt_rand(1000,9999));
- $file="z_upload/".date("ymdhms").$unm.$f[name];
- //检查是否已经存在同名文件
- if (file_exists($file)) header("http/1.0 403");
- //保存文件
- if (!@move_uploaded_file($f["tmp_name"],$file))
- {
- header("http/1.0 404 not found");
- }else{
- if(!isset($_cookie['uploadpic'])){
- setcookie("uploadpic",$file);
- }else{
- unlink($_cookie['uploadpic']);
- setcookie("uploadpic","");
- setcookie("uploadpic",$file);
- }
- echo "1";
- }
- }
- ?>