我的窘境来自一个名为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 – 错误代码(如果适用)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。