我的窘境来自一个名为NextGen Public Uploader的WordPress插件中的函数。在handleUpload()
中,$_FILES['MF__F_0_0']['error']
的值用于确定上传是否失败。 MF__F_0_0
不是$_FILES
中的命名字段。此外,我在源代码或在线中找不到任何名为MF__F_0_0
的键或属性的引用或讨论。
我正在讨论的函数的框架代码如下所示。
// Function: Handle Upload for Shortcode
public function handleUpload() {
/* setup and other definitions */
if ($_POST['uploadimage']) {
/* check_admin_referer(...) */
if ($_FILES['MF__F_0_0']['error'] == 0) {
/* process the upload */
} else {
/* mitigate failed upload */
}
}
}
有人知道MF__F_0_0
具体指的是什么吗?
有谁知道我应该参考哪些内容阅读上述密钥?
编辑:我想到我应该在用于发布POST的网页中包含相关代码。代码是由插件使用WordPress短代码生成的。
<div id="uploadimage">
<form name="uploadimage" id="uploadimage_form" method="POST" enctype="multipart/form-data" accept-charset="utf-8"><input type="hidden" id="_wpnonce" name="_wpnonce" value="ae8639d6bf"><input type="hidden" name="_wp_http_referer" value="/chipamp-v3/gallery-better/">
<div class="uploader">
<input type="file" name="imagefiles" id="imagefiles">
</div>
<input type="hidden" name="galleryselect" value="3">
<div class="image_details_textfield">
</div>
<div class="submit"><br>
<input class="button-primary" type="submit" name="uploadimage" id="uploadimage_btn" value="Upload">
</div>
</form>
</div>
编辑#2 :我使用相关的插件/代码here部署了一个测试WordPress网站,以防有人想尝试自己检查情况。我在Firefox中使用Chrome控制台和Firebug的努力都没有成功,但我不确定我知道该找什么。
编辑#3 :由于网页上的JavaScript或PHP中的check-admin-referer调用使我的情况复杂化,我上传了一个图像并转储了{{{{ 1}}到控制台(就在if语句之前)。正如您将看到的,没有$_FILES
字段。
MF__F_0_0
答案 0 :(得分:2)
$_FILES
超全局的键是HTML页面中name
元素的input type="file"
属性。 MF__F_0_0
显然是表单字段的名称。
所以这个元素:
<input type="file" name="MyFile">
会给出这个元素:
$_FILES['MyFile']
这是一个具有以下键值对的数组:
name
- 客户端上文件的名称type
- 浏览器提供的文件的MIME类型size
- 文件的大小(以字节为单位)tmp_name
- 文件存储在服务器上的临时名称,直到您将其移动为止error
- 错误代码(如果适用)