求够一个PHP实现多文件上传的例子,直接贴代码,谢谢。PHP

解决方案 »

  1.   

    百度swfupload,下载个实例研究下吧
    多文件上传不是几句代码就说清楚的。
      

  2.   

    会单文件上传不?会的话多文件是一样的道理。只不过表单控件命名为数组,php处理数组而已。
      

  3.   

    $_FILES["file"] 怎么接收数组的文件,我用
    foreach ($_FILES["file"] as $item)
    {
    $s=$s.",".$item;
    }
    只能接收一个文件
      

  4.   

    if($_FILES['file']['size'] >0){
    if ( $_FILES["file"]["error"] > 0){
    $msg= "附件上传错误: " . $_FILES["file"]["error"];
    }else{
    //if (file_exists("upload/".$_FILES["file"]["name"])){
    // echo $msg =$_FILES["file"]["name"]." 附件已经存在! ";
    //}else{
      $yc = $_POST['yc'];
      $yt = $_POST['yt'];
      $type = $_POST['type'];
      $newFileName=str_replace(".","_".time().".",$_FILES["file"]["name"]);
      $path="upload/" . $newFileName;
      move_uploaded_file($_FILES["file"]["tmp_name"],$path);
      
      $sql="insert into A004(c02,c03,c04,c05,c06,c07,c08,c09,c10) values ('".$id."','".$newFileName."','".$path."','".$yc[0]."','". $yt[0]."','".$type[0]."','0','".$_SESSION['LOGIN_ID']."','".get_time()."') ";
      $msg=$DB->Update($sql,"[10016]提交数据时失败,请稍后再试,或与技术员联系!");

    //}
    }
    }
    <!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>jQuery动态添加input type=file文件上传域</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> 
    </head>
    <body> 
    <form action="" method="post" enctype="multipart/form-data"> 
    <label>请选择上传的图片</label> 
    <a href="javascript:addimg()" >增加图片</a> 
    <div class="mdiv" id="mdiv"> 
    <div class="iptdiv" > 
    <input type="file" name="file[]" class="ipt" /><a href="#" name="rmlink">删除</a> 
    </div> 
    </div> 
    <input type="submit" name="submit" value="上传图片" /> 
    </form> 
    <script type="text/javascript" > 
    $(document).ready(function(){
       bindListener();
    });
    // 用来绑定事件(使用unbind避免重复绑定)
    function bindListener(){
         $("a[name=rmlink]").unbind().click(function(){
             $(this).parent().remove(); 
         })
    }
    function addimg(){ 
       $("#mdiv").append('<div class="iptdiv"><input type="file" name="img[]" class="ipt" /><a href="#" name="rmlink"> X </a></div>');// 为新元素节点添加事件侦听器   bindListener();

    </script>
    </body>
    </html>
      

  5.   

    for($i=0; $i<count($_FILES["file"]['error']); $i++) {
      //这部分是你的恕我不一一抄录,不过加了点东西
      $newFileName=str_replace(".","_".time().".",$_FILES["file"]["name"][$i]);
      $path="upload/" . $newFileName;
      move_uploaded_file($_FILES["file"]["tmp_name"][$i],$path);
    }不过 time() 似乎不够了,要 microtime(1) 才基本够
      

  6.   

    试试uploadify
    稍作修改就ok了。
      

  7.   

    https://github.com/valums/file-uploader
    推荐
      

  8.   

    示例的代码就是你的上传控件是 <input type="file" name="file[]" class="ipt" />
    所以 $_FILES["file"][xxx] 都是数组 (xxx = tmp_name,name,error,type,size)
    逐个处理就是了,当然只有 error 等于 0 的才是被成功上传的
      

  9.   


    foreach ($_FILES['file'] as $item)
    {
    //echo print_r($item);
    }
    怎么这样只得到第一个文件啊
      

  10.   

    测试代码<?php
    print_r($_FILES);
    ?>
    <form method="POST" enctype="multipart/form-data"> 
    <input type=file name=file[] /><br> 
    <input type=file name=file[] /><br> 
    <input type=file name=file[] /><br> 
    <input type=submit>
    </form>
    选择两个文件后截图
    提交后 $_FILES 数组
    Array
    (
        [file] => Array
            (
                [name] => Array
                    (
                        [0] => i.jpg
                        [1] => Ico.zip
                        [2] => 
                    )            [type] => Array
                    (
                        [0] => image/pjpeg
                        [1] => application/x-zip-compressed
                        [2] => 
                    )            [tmp_name] => Array
                    (
                        [0] => C:\Documents and Settings\Administrator\Local Settings\Temp\php188.tmp
                        [1] => C:\Documents and Settings\Administrator\Local Settings\Temp\php189.tmp
                        [2] => 
                    )            [error] => Array
                    (
                        [0] => 0
                        [1] => 0
                        [2] => 4
                    )            [size] => Array
                    (
                        [0] => 7198
                        [1] => 121062
                        [2] => 0
                    )        ))自己去看吧