首页 > Web开发 > 详细

PHP上传文件DEMO

时间:2014-08-27 10:34:37      阅读:353      评论:0      收藏:0      [点我收藏+]
<!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文件夹中访问

PHP上传文件DEMO

原文:http://www.cnblogs.com/gabin/p/3938722.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!