我的窘境来自一个名为
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调用使我的情况复杂化的可能性,我上传了一个图像并将$_FILES的内容转储到控制台(就在if语句之前) .正如您将看到的,没有MF__F_0_0字段.
Array
(
[imagefiles] => Array
(
[name] => Koala.jpg
[type] => image/jpeg
[tmp_name] => /tmp/phpl65KuS
[error] => 0
[size] => 780831
)
)
最佳答案 $_FILES超全局的键是HTML页面中input type =“file”元素的名称属性. MF__F_0_0显然是表格字段的名称.
所以这个元素:
<input type="file" name="MyFile">
会给这个元素:
$_FILES['MyFile']
这是一个具有以下键值对的数组:
> name – 客户端上文件的名称
> type – 浏览器提供的文件的MIME类型
> size – 文件的大小(以字节为单位)
> tmp_name – 文件存储在服务器上的临时名称,直到您移动它为止
> error – 错误代码(如果适用)