添加上传字段并将内容上传到数据库

时间:2014-04-08 09:01:28

标签: php forms for-loop upload

我已经制作了一个表单,我可以使用按钮添加多个上传字段。问题是按钮创建的字段内容不会上传到数据库。我无法弄清楚查询是问题还是我的for循环?按钮创建的字段与主上载字段的名称相同(uploaded[])。主上载字段确实已发送到数据库

这是第一个上传字段

<td><label for="code">file:</td><td><input name="uploaded[]" type="file" > </label>

可以像这样添加其他字段

function fncCreateElement(){

    var mySpan = document.getElementById('mySpan');

    var myElement1 = document.createElement('input');
    myElement1.setAttribute('type',"file");
    myElement1.setAttribute('name',"uploaded[]");
    mySpan.appendChild(myElement1); 

    var myElement2 = document.createElement('<br>');
    mySpan.appendChild(myElement2);
}

<input name="btnButton" type="button" value="+" onClick="JavaScript:fncCreateElement();">
<span id="mySpan"> </span>

这是我选择字段的循环

for($i=0; $i<count($_FILES["uploaded"]['name']); $i++) {



    $tmpFilePath = $_FILES["uploaded"]['tmp_name'][$i];
    $_FILES['uploaded']['name']) ; 


if ($tmpFilePath != ""){
                    //Setup our new file path
    $newFilePath = "upload/" . date("Ymd_his") . $_FILES["uploaded"]['name'][$i];
    $naam2 = $_FILES["uploaded"]['name'][$i];

    if(move_uploaded_file($tmpFilePath, $newFilePath)) {



        $melding = "File uploaded";

    } 


    else{
        $tmpFilePath = "";
        $melding = "No file.";

    } 
}
    //Here comes the query to insert to database
}

上传文件的查询放在循环

有没有人以这种形式看到问题?

我按照要求在$ _files上做了一个var_dump。第一个上传字段包含一个名为&#34; File1.txt&#34;的文本文件。按钮创建的第二个字段还包含一个名为&#34; File2.txt&#34;的文本文件。这是提交表单后var_dump的结果:

array(1) { ["uploaded"]=> array(5) { ["name"]=> array(1) { [0]=> string(9) "File1.txt" } ["type"]=> array(1) { [0]=> string(10) "text/plain" } ["tmp_name"]=> array(1) { [0]=> string(27) "C:\Windows\Temp\php39E3.tmp" } ["error"]=> array(1) { [0]=> int(0) } ["size"]=> array(1) { [0]=> int(0) } } } 

0 个答案:

没有答案