繁体   English   中英

我尝试上传文件时收到错误?

[英]i get error when i try to upload a file?

我一直收到错误: 注意 :未定义的索引:第35

第35行:

 $handle = new Upload($_FILES['my_field']);

这是我的输入字段

 <input type="file" size="32" name="my_field" value="" />

我不明白这个错误,谢谢!

编辑:

 <form name="upload" id="upload" enctype="multipart/form-data" method="post" action="actions/upload.php" />
 <p><input type="file" size="32" name="my_field" value="" /></p>
 <p class="button"><input type="hidden" name="action" value="image" />
 <br>
 <input style="margin-left:224px;" type="submit" name="submit" value="upload" />

你在表单元素上使用了enctype="multipart/form-data"吗?

这似乎是$_FILES上没有设置关键my_field的唯一原因。

编辑:如果您的文件大于post_max_size ,您还会得到一个空的$_FILES数组。

另请参阅: Apache / PHP:$ _FILES数组神秘地为空

更新: OP正在执行Ajax请求 - 显然无法使用文件上载。

老答案:

我想我找到了。

仔细看看这个标签:

 <form name="upload" id="upload" enctype="multipart/form-data" method="post"
 action="actions/upload.php" />

结束/> 关闭表格。 之后出现的所有内容都不在这种形式内 - 它位于浏览器可能生成的新内容中以处理损坏的标记。 该新表单不是enctype=multipart/form-data

要使用ajax提交上传,您可以使用带有上传部分的IFRAME。

  1. 发送ajax表单提交
  2. 使用javascript触发IFRAME中上传表单上的submit()
  3. 让iframe中的返回页面在主页面中触发javascript完整响应功能

有点复杂,但会工作。 您需要一些机制将它们绑定在一起,例如,如果您要提交有关图像的信息,请让步骤1返回存储该信息的数据库行的ID,以便IFRAME上载表单可以提交该ID,以便它知道在哪里存储图片。

暂无
暂无

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

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