WordPress:尝试上传图片,media_handle_upload() 不起作用
Posted
技术标签:
【中文标题】WordPress:尝试上传图片,media_handle_upload() 不起作用【英文标题】:WordPress: trying to upload image, the media_handle_upload() won't work 【发布时间】:2013-03-13 17:27:39 【问题描述】:尝试制作表单以将图片上传到 Wordpress,然后将该图片设置为帖子的缩略图。但我似乎无法让 media_handle_upload() 函数正常工作。
文件的表单输入
<input type="file" name="image" />
那么这是服务器端代码
media_handle_upload( $_FILES['image'], 22 );
这就是我得到的回报
object(WP_Error)#212 (2) ["errors"]=> array(1) ["upload_error"]=> array(1) [0]=> string(212) "File is empty...." ["error_data"]=> array(0)
我尝试了几种不同的方法来输入文件变量,但似乎都不起作用,我这样做是因为 $file_id 到底是什么;
【问题讨论】:
您是否在表单中添加了enctype="multipart/form-data"
?如果不是,那么$_FILES
数组将为空。您也可以尝试转储 $_FILES
数组的内容,看看它是否真的包含数据。
是的,我有,如果我使用 var_dump($_FILES['image']);我得到了所有的文件信息
如果我查看media_handle_upload()
的描述,那么看起来您传递的参数不正确?第一个应该是上传文件的$_FILES
的索引。 codex.wordpress.org/Function_Reference/media_handle_upload
是的,我正在尝试弄清楚如何正确传递文件。我检查了他们的文档,但我似乎无法找出如何通过它
media_handle_upload( xxxx , 22 );
【参考方案1】:
查看documentation
的media_handle_upload()
,第一个参数应该是$_FILES
数组中文件的索引名称,因此在您的情况下应该如下所示:
media_handle_upload('image', 22);
【讨论】:
以上是关于WordPress:尝试上传图片,media_handle_upload() 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 wordpress 中通过 jQuery/Ajax 上传图片
上传图片时如何修复 WordPress 上的 HTTP 错误?