2012-09-29 40 views
0

我試圖一次上傳多個文件,但有一個獨奏窗體字段來定義將定義畫廊名稱列的名稱... 我試過不同的腳本和方法,但唯一一個我成功的是這一個,除了我必須在每一箇中輸入畫廊的名稱,有沒有辦法做到這一點?PHP使用不同的文件名,但共同的文件夾上傳多個文件

這裏是我的HTML表單

<form action="php_multiple_upload2.php" method="post" name="form1" enctype="multipart/form-data"> 
     <input type="text" name="galnom1"><input type="file" name="fileUpload1" ><br> 
     <input type="text" name="galnom2"><input type="file" name="fileUpload2"><br> 
     <input type="text" name="galnom3"><input type="file" name="fileUpload3"><br> 
     <input type="text" name="galnom4"><input type="file" name="fileUpload4"><br> 
     <input name="hdnLine" type="hidden" value="4"> 
     <input name="btnSubmit" type="submit" value="Submit"> 
    </form> 

這裏的PHP代碼

<?php 
    include("../../cnf/cnctr.php"); 

    for($i=1;$i<=(int)($_POST["hdnLine"]);$i++) 
    { 
    if($_FILES["fileUpload".$i]["name"] != "") 
     { 
     if(copy($_FILES["fileUpload".$i]["tmp_name"],"img/".$_FILES["fileUpload".$i]["name"])) 
     { 
      $strSQL = "INSERT INTO galeria "; 
      $strSQL .="(galnom,ttl) VALUES ('".$_POST["galnom".$i]."','".$_FILES["fileUpload".$i]["name"]."')"; 
      mysqli_query($fsn,$strSQL); 
      echo "Copy/Upload ".$_FILES["fileUpload".$i]["name"]." completed.<br>"; 
     } 
     } 
    } 
    echo "<br><a href='php_multiple_upload6.php'>View file</a>"; 
    mysqli_close($fsn); 
    ?> 

這是我想象我的HTML表單:

<form action="php_multiple_upload2.php" method="post" name="form1" enctype="multipart/form-data"> 
     <input type="text" name="gallery_name"><br> <!-- Just one field to name the gallery --> 
     <input type="file" name="fileUpload1" ><br> 
     <input type="file" name="fileUpload2"><br> 
     <input type="file" name="fileUpload3"><br> 
     <input type="file" name="fileUpload4"><br> 
     <input name="hdnLine" type="hidden" value="4"> 
     <input name="btnSubmit" type="submit" value="Submit"> 
    </form> 

一如既往感謝您的幫助:)

B est Regards

+1

爲什麼不僅僅是從循環中的任何索引引用單個字段值?例如,爲什麼'$ _POST [「galnom」。$ i「'而不是'$ _POST [」galnom「]'? –

+0

完全正確。這是它的大聲笑。非常感謝你格蘭特。 –

回答

2

你可以使用你想象中的形式。

只是換行

$strSQL .="(galnom,ttl) VALUES ('".$_POST["galnom".$i]."','".$_FILES["fileUpload".$i]["name"]."')"; 

這一行:

$strSQL .="(galnom,ttl) VALUES ('".$_POST["gallery_name"]."','".$_FILES["fileUpload".$i]["name"]."')"; 

作爲一個方面說明,以防萬一:要知道,你的SQL代碼是完全不安全針對SQL-注射

+0

感謝Grant和user1708452,完美的解決方案。 –

相關問題