<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title>upload</title> </head> <body> <!-- **********文件上传测试************* form加上enctype="multipart/form-data" method="post" input type改为file **********文件上传测试************* --> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="test[]"/> <input type="file" name="test[]"/> <div></div> <input type="submit" value="submit" /> </form> </body> </html>
index.php
<?php // 所有的上传文件都缓存在关系数组$FILES里面,循环可获取 /* * 这里支持单个文件上传、多个文件上传(非单个控件多选文件,是多个控件选中多个文件) * <input type="file" name="test"/> * <input type="file" name="test"/> * 支持 控件名为 name="name" 和name="name[]"的多文件上传 * <input type="file" name="test[]"/> * <input type="file" name="test[]"/> */ foreach ($_FILES as $key => $value) { // 获取文件名 $names = $value["name"]; // 如果文件名是个数组的话就是多文件上传 if (is_array($names)) { for ($i = 0; $i < count($names); $i++) { copyFile($names[$i], $value['tmp_name'][$i], $value["error"][$i]); } } else copyFile($names, $value['tmp_name'], $value["error"]); } // 文件名,临时文件名,错误码 function copyFile($name, $tmpName, $error) { // 错误码大于0,直接返回 if ($error > 0) return; // 如果文件已经存在,输入提示信息,不保存 if (file_exists($name)) { echo $name . " already exists. "; } else { // 否则正常保存文件 move_uploaded_file($tmpName, $name); echo "Stored in: " . dirname(__FILE__) . '\' . $name; } } ?>
upload.php
两个文件置于同一个文件夹中,发布在apache htdocs文件夹中访问