2

我整天都在为此挣扎,并且厌倦了被卡住。今天早上花了半个小时在我现在坚持的同一个应用程序上为个人资料图片做一个不错的小自定义上传器。

这里的问题不是上传(我把它搞定了),而是将其扩展为允许多次上传的表单。它不是一个多文件、单输入上传器,而是有多个输入。

input type='file'我目前在表单中只有两个实例。我正在使用 Codeigniter,但问题不在于 CI 无法处理多个上传(我不认为)。我现在要做的只是简单地做print_r($_FILES);,它只显示两个输入中的第二个。

如果我在表格中交换它们的位置,它仍然只显示最后一个而不是两者。

我今天已经检查了他们的名字等大约 100 倍。真的不确定发生了什么。而且,需要明确的是,我一直在搜索 SO 和谷歌,看看我是否能找到问题所在。到目前为止,我什么都没想到。

感谢您的任何指导或帮助。

编辑:----------------------------

<form action="http://curvo:8888/index.php/offers/create" method="post" accept-charset="utf-8" class="bigolform" id="offer-form" enctype="multipart/form-data">                  
                    ...
                    <input type="file" name="ProductOfferPhoto" value="" id="ProductOfferPhoto">                    

                    ...

                    <input type="file" name="QuoteDoc" value="" id="QuoteDoc">                      

                    <!--using an ajax uploading script-->
                    <script type="text/javascript" src="/assets/js/libs/ajaxfileupload.js"></script>


                    <a href="#" class="orange btn add submit-the-offer">Complete offer</a>

</form>

我也尝试过使用genericName[],但这只会让我得到一个空数组。

4

2 回答 2

5

name如果您接受多个文件,请确保您的输入是一个数组:

单次上传:
<input name="productImage" accept="image/*" type="file" />

多次上传:
<input name="productImage[]" accept="image/*" type="file" />
<input name="productImage[]" accept="image/*" type="file" />
... --------------------------------------------------^[]表示这是一个数组并允许您为同名提交多个值。

然后你会发现多个值$_FILES而不是仅上传的最后一个文件(因为每个文件基本上都覆盖了当前的最后一个文件)

于 2013-05-01T20:58:07.180 回答
0

谢谢大家的想法和意见。我不知道有关解决方案的答案,但我找到了有关该问题的“为什么”的答案。

我从 Nettuts 获取的 ajaxfileuploader.js 脚本正在扔东西。当我进行单次上传时,它工作了一段时间,但是当我开始尝试进行多次上传时,它就崩溃了,只抓住了最后一个input字段。

将在不久的将来某个时候探索 blueimp 的 jQuery File Upload 插件。现在只是为了满足我星期一的截止日期而跳过它。

再次感谢您的帮助。

于 2013-05-02T21:12:45.493 回答