繁体   English   中英

多个文件上传无法正常工作

[英]multiple file upload not working correctly

我有一个简单的多文件上传表单,下面是处理该问题的PHP。 我有的问题是它不上传文件。 它的作用是保存一个没有文件扩展名的名为“ Array”的文件。

到目前为止,这是我的代码:

<form method="post" action="" enctype="multipart/form-data">
    <input name="note[]" type="file" multiple="multiple">
    <button type="submit" name="upload_notes">Upload</button></p>
</form>

$upload_notes = ( isset($_POST['upload_notes']) ? true : false );

if ($upload_notes) {

    $user_notes_folder = 'user-notes/'
    $valid_formats = array("doc", "pdf", "docx", "rtf");
    $max_file_size = 100000;
    $count = 0;

    foreach ($_FILES['note']['name'] as $f => $name) {     
        if ($_FILES['note']['error'][$f] == 4) {
            continue;
        }          
        if ($_FILES['note']['error'][$f] == 0) {               
            if ($_FILES['note']['size'][$f] > $max_file_size) {
                $message[] = "$name is too large!.";
                continue; 
            }
            elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
                $message[] = "$name is not a valid format";
                continue;
            }
            else{ 
                if(move_uploaded_file($_FILES["note"]["tmp_name"][$f], $user_notes_folder.$_FILES["note"]["name"]))
                $count++;
            }
        }
    }
}

$user_notes_folder.$_FILES["note"]["name"]是一个数组。

可能需要

$user_notes_folder.$_FILES["note"]["name"][$f]

这是因为$ _FILES [“ note”] [“ name”]实际上是一个数组。 更改以下内容:

if(move_uploaded_file($_FILES["note"]["tmp_name"][$f], $user_notes_folder.$_FILES["note"]["name"]))

至 :

if(move_uploaded_file($_FILES["note"]["tmp_name"][$f], $user_notes_folder.$_FILES["note"]["name"][$f]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM