【发布时间】:2014-11-06 02:17:15
【问题描述】:
我正在尝试创建一个前端表单,供用户上传多张图片并将它们附加到帖子中。
帖子发布得很好,所有数据都已附上。但我不断收到这两个错误:
Warning: Illegal offset type in mysite/wp-admin/includes/media.php on line 254
Warning: Illegal offset type in mysite/wp-admin/includes/media.php on line 255
我已经尝试了很长时间,并且搜索了高低。我似乎无法让这个工作。我已经简化了表格,现在只上传一张图片,这也不起作用。下面是我用来处理上传的 PHP:
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . "wp-admin" . '/includes/media.php');
if ($_FILES) {
$attach_id = media_handle_upload( $_FILES['upl'], $rid );
set_post_thumbnail($rid, $attach_id);
update_post_meta($rid,'_thumbnail_id',$attach_id);
}
$rid 是帖子 ID。
输入字段为<input type="file" name="upl" class="ride_image"/>
我已经检查了我的最大上传大小,$_FILES 全局正在正确返回图像。这是一个例子var_dump($_FILES);
array(1) { ["upl"]=> array(5) { ["name"]=> string(21) "rizkdbr2live_lead.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/phpgPwO8W" ["error"]=> int(0) ["size"]=> int(85529) } }
请记住,这是最简化的表单。我只是想让图像现在实际上传。我将添加验证之类的内容。
知道这两个Illegal offset type 错误是什么以及如何修复它们吗?这正在成为一项非常非常繁琐的任务,应该很容易。在 wordpress 之外编写自定义 PHP 来处理此图像上传是否违反所有标准,或者使用media_handle_upload() 是真正做到这一点的唯一方法?我想尽可能地遵守标准。
【问题讨论】:
标签: php wordpress file-upload