Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多文件上传和处理程序_Javascript_Php - Fatal编程技术网

Javascript 多文件上传和处理程序

Javascript 多文件上传和处理程序,javascript,php,Javascript,Php,我有一个具有文件上传功能的网站。现在我想让它多文件上传 以下是主文件: <form action="update.php?KBID=<?=$KBID ?>&offset=<?=$offset ?>&Action=Update&tabName=<?=$secondtabs_param; ?>" method="post" enctype="multipart/form-data" name="form2" id="form2" on

我有一个具有文件上传功能的网站。现在我想让它多文件上传

以下是主文件:

<form action="update.php?KBID=<?=$KBID ?>&offset=<?=$offset ?>&Action=Update&tabName=<?=$secondtabs_param; ?>" method="post" enctype="multipart/form-data" name="form2" id="form2" onSubmit="handleUploadedZipFile($KBID, $file, $zipfilename)" >
Attachments:<input type="file" id="zipfile" name="zipfile" multiple> 
</form>

这里没有完整的工作代码,但清楚地知道如何实现您的需求。 您需要稍微修改handleUploadedZipFile函数,并添加如下上传功能:

if (!empty($_FILES['zipfile'])) {
    foreach ($_FILES['zipfile']['name'] as $key => $temp) {
        $name = $_FILES['zipfile']['name'][$key];
        $type = $_FILES['zipfile']['type'][$key];
        $tmp_name = $_FILES['zipfile']['tmp_name'][$key];
        $error = $_FILES['zipfile']['error'][$key];
        $size = $_FILES['zipfile']['size'][$key];

        $zipfilename = $name;

        if ($size > 0) {
            $dir = PROBLEMZIPS."/".sprintf("%05d",$KBID)."/";
            $result = getUploadedFile($tmp_name,$dir,$zipfilename);
        } else {
            $result = false;
        }
    }
}
通过将zipfile替换为zipfile[],将文件字段设置为数组,即:


你没有说你的问题是什么;你认为脚本会发生什么,实际会发生什么?我想允许我的用户上传多个文件,这些都是基本的东西。你能帮我处理另外两个处理程序吗?另外两个脚本也是?我不知道你说的另外两个处理程序是什么意思。你是说getPostPutField和getUploadedFile吗?我提到了这两个函数:函数escFileValues{}ifgetPostPutField'zipfilename',$zipfilename{}在上面的问题中,很抱歉,我无法帮助您了解这两个处理程序,因为我不知道这两个处理程序在做什么。它基本上只是无用的函数相互调用
if (!empty($_FILES['zipfile'])) {
    foreach ($_FILES['zipfile']['name'] as $key => $temp) {
        $name = $_FILES['zipfile']['name'][$key];
        $type = $_FILES['zipfile']['type'][$key];
        $tmp_name = $_FILES['zipfile']['tmp_name'][$key];
        $error = $_FILES['zipfile']['error'][$key];
        $size = $_FILES['zipfile']['size'][$key];

        $zipfilename = $name;

        if ($size > 0) {
            $dir = PROBLEMZIPS."/".sprintf("%05d",$KBID)."/";
            $result = getUploadedFile($tmp_name,$dir,$zipfilename);
        } else {
            $result = false;
        }
    }
}
<input type="file" id="zipfile" name="zipfile[]" multiple>