移动上传的文件错误beacuase数组给出

时间:2016-12-12 18:19:12

标签: php

我收到以下错误:

  

警告:move_uploaded_file()期望参数1为字符串,给定数组

移动功能有什么问题?我必须使用它,对吧?

$target_path = "../docs/"; 
    if(isset($_FILES['doc_file']))
    {
        foreach($_FILES['doc_file']["name"] AS $key=>$file)
        {
            if($_FILES['doc_file']['size'][$key]  != 0 )
            {
                $doc_nev = mysqli_real_escape_string($kapcs, $_POST["doc_nev"][ $key ] );
                $file = $_FILES['doc_file']['name'][$key];
                $file_name = basename($file);

                if(move_uploaded_file($_FILES['doc_file']['tmp_name'], $target_path))
                {
                    mysqli_query($kapcs, "INSERT INTO doc(doc_nev, doc_file, tananyag_id) 
                    VALUES('".$doc_nev."','".$file_name."', '".$id."')") or die(mysqli_error($kapcs));

                    header("Location: szerkesztes_tananyag.php?cat=".$page_now."&id=".$id."&new-file=1");
                }
                else
                {
                    $error[] = "A dokumentum mentése nem sikerült, próbálja újra.";
                }
            }
            else
            {
                $error[] = "Nincs kiválasztva fájl 2.";
            }
        }
    }
    else
    {
        $error[] = "Nincs kiválasztva fájl 1.";
    }

1 个答案:

答案 0 :(得分:1)

就像使用其他数组元素一样,您需要使用$key。还要在路径$target_path . $file中添加文件名:

if(move_uploaded_file($_FILES['doc_file']['tmp_name'][$key], $target_path . $file))