现在可以上传单个文件,但我想上传多个文件,不知道怎么样上传多个文件,并且要获取每个文件人的路径信息插入数据库:
 下面是上传单个文件的程序,希望大家能帮帮我想个办法,能成功实现多文件上传:
     index.php//
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>上传文件到服务器</title>
<style type="text/css">
<!--
body {
margin-left: 00px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style></head><body>
<table width="960" border="0" align="center" bgcolor="#C1BEE7">
 <tr style=" background-color:#CCC;">
    <td colspan="2" align="center" height="30"><font color="#660033" size="+2">资料上传页面</font></td>
  </tr>
  <tr>
  <form name="form1" method="post" action="uploadok.php" enctype="multipart/form-data">
  </tr>
  <tr>
    <td width="350" align="right" height="25">课题名称:</td>
    <td><input name="title" type="text" size="25" maxlength="35" /></td>
  </tr>
  <tr>
    <td align="right" height="25">设计者:</td>
    <td><input name="design" type="text" size="25" maxlength="25" /></td>
  </tr>
  <tr>
    <td align="right" height="25">导师:</td>
    <td><input name="teacher" type="text" size="25" maxlength="25" /></td>
  </tr>
  <tr>
    <td align="right" height="25">年级:</td>
    <td><input name="grade" type="text" size="25" maxlength="25" /><font color="#FF0000">/*例如:2005届*/</font></td>
  </tr>
  <tr>
    <td align="right" height="25">专业:</td>
    <td><input name="spefield" type="text" size="25" maxlength="25" /></td>
  </tr>
  <tr>
    <td align="right" height="25" >添加资料:</td>
    <td><input name="file" type="file" size="35" id="file" />
    </td>
  </tr>
  <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
  </tr>
  <tr>
     <td colspan="2" align="center"><input type="submit" name="Submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="resert" type="image" src="images/resert.jpg" value="重置"></td>/*......
     uploadok.php//
<?php session_start(); include("dbconnect.php");?>
<?php
if(!empty($upload))
$title=$_POST["title"];
$design=$_POST["design"];
$teacher=$_POST["teacher"];
$grade=$_POST["grade"];
$spefield=$_POST["spefield"];
$data=date("Y-m-d");
$file_name=$_FILES['file'];$path ='./upload/'.$_FILES['file']['name'];
if (move_uploaded_file($_FILES['file']['tmp_name'],$path)) { 
$query="insert into upload (title,design,teacher,grade,spefield,file_text,data,file_name)values('$title','$design','$teacher','$grade','$spefield','$path','$data','$file_name')";
$result=mysql_query($query,$conn) or die("插入数据失败:".mysql_error());
mysql_close($conn);
if($result=true){ 
echo "上传成功!!";
echo "<meta http-equiv=\"Refresh\" content=\"3;url=index.php?lmbs=文件上传\">"; 
}else{echo "文件上传失败!!";
          echo "<meta http-equiv=\"Refresh\" content=\"3;url=index.php?lmbs=文件上传\">";}
}
?>

解决方案 »

  1.   

    name="title[]"
    name="design[]"
    name="teacher[]"
    name="grade[]"
    name="spefield[]"
    name="file[]"print_r($_POST);
    print_r($_FILES);
      

  2.   

    前面是上传资料要填写的基本信息
    如果我在下边多添加几个上传,那么在uploadok.php中怎么写呢,将文件的信息分别插入数据库
    .........
     <tr> 
        <td align="right" height="25" >添加资料: </td> 
        <td> <input name="file" type="file" size="35" id="file" /> 
        <input name="file" type="file" size="35" id="file" />
        <input name="file" type="file" size="35" id="file" />
        <input name="file" type="file" size="35" id="file" />
        <input name="file" type="file" size="35" id="file" />
        </td> 
      </tr> 
      

  3.   


    <html>
    <head>
    <title>HTML Form for uploading image to server</title>
    </head>
    <body>
    <form action="" method="post" enctype="multipart/form-data">
    <p>Pictures:
    <input type="file" name="pictures[]" />
    <input type="file" name="pictures[]" />
    <input type="file" name="pictures[]" />
    <input type="submit" value="Send" />
    </p>
    </form>
    <?php
    //places files into same dir as form resides
    foreach ($_FILES["pictures"]["error"] as $key => $error) {
       if ($error == UPLOAD_ERR_OK) {
           echo"$error_codes[$error]";
           move_uploaded_file(
             $_FILES["pictures"]["tmp_name"][$key], 
             $_FILES["pictures"]["name"][$key] 
           ) or die("Problems with upload");
       }
    }
    ?>
    </body>
    </html> 
      

  4.   

    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <title>上传文件到服务器 </title> 
    <style type="text/css"> 
    <!-- 
    body { 
    margin-left: 00px; 
    margin-top: 0px; 
    margin-right: 0px; 
    margin-bottom: 0px; 

    --> 
    </style> </head> <body> 
    <table width="960" border="0" align="center" bgcolor="#C1BEE7"> 
    <tr style=" background-color:#CCC;"> 
        <td colspan="2" align="center" height="30"> <font color="#660033" size="+2">资料上传页面 </font> </td> 
      </tr> 
      <tr> 
      <form name="form1" method="post" action="uploadok.php" enctype="multipart/form-data"> 
      </tr> 
      <tr> 
        <td width="350" align="right" height="25">课题名称: </td> 
        <td> <input name="title" type="text" size="25" maxlength="35" /> </td> 
      </tr> 
      <tr> 
        <td align="right" height="25">设计者: </td> 
        <td> <input name="design" type="text" size="25" maxlength="25" /> </td> 
      </tr> 
      <tr> 
        <td align="right" height="25">导师: </td> 
        <td> <input name="teacher" type="text" size="25" maxlength="25" /> </td> 
      </tr> 
      <tr> 
        <td align="right" height="25">年级: </td> 
        <td> <input name="grade" type="text" size="25" maxlength="25" /> <font color="#FF0000">/*例如:2005届*/ </font> </td> 
      </tr> 
      <tr> 
        <td align="right" height="25">专业: </td> 
        <td> <input name="spefield" type="text" size="25" maxlength="25" /> </td> 
      </tr> 
      <tr> 
        <td align="right" height="25" >添加资料: </td> 
        <td> <input name="file[]" type="file" size="35" id="file" /><br>
        <input name="file[]" type="file" size="35" id="file" /><br>
        <input name="file[]" type="file" size="35" id="file" /><br>
        </td> 
      </tr> 
      <tr> 
          <td>&nbsp; </td> 
          <td>&nbsp; </td> 
      </tr> 
      <tr> 
        <td colspan="2" align="center"> <input type="submit" name="Submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name="resert" type="image" src="images/resert.jpg" value="重置"> </td> 
    </tr></table></body></html><?php session_start(); include("dbconnect.php");?> 
    <?php 
    if(strtoupper($_SERVER["REQUEST_METHOD"]) == "POST")
    {
    $title=$_POST["title"]; 
    $design=$_POST["design"]; 
    $teacher=$_POST["teacher"]; 
    $grade=$_POST["grade"]; 
    $spefield=$_POST["spefield"]; 
    $data=date("Y-m-d");
    $f = "";
    $p = "";
    if(!empty($_FILES))
    {
    $count = count($_FILES);
    for($i=0;$i<$count;$i++)
    {
    $file_name = $_FILES["file"]["name"][$i];
    if(!empty($file_name))
    {
    $path = './upload/'.$file_name;

    $tmp_path = $_FILES["file"]["tmp_name"][$i];
    if(false === is_uploaded_file($tmp_path))
    {
    echo "非法上传";
    exit();
    }
    else{
    if(move_uploaded_file($tmp_path, $path))
    {
    $f .= ",".$file_name;
    $p .= ",".$path;
    }
    else{
    echo "上传失败";
    exit();
    }
    }
    }
    }

    //数据库操作
    $query="insert into upload (title,design,teacher,grade,spefield,file_text,data,file_name)values('$title','$design','$teacher','$grade','$spefield','$p','$data','$f')"; 
    $result=mysql_query($query,$conn) or die("插入数据失败:".mysql_error()); 
    mysql_close($conn); 
    if($result)
    {
    echo "插入数据成功";
    }
    else{
    echo "插入数据失败";
    }
    }
    ?>