如何在使用wp_pload_bit时将文件类型添加到meta值?

时间:2013-05-02 作者:javy

我已经设置了一个自定义帖子类型,并希望能够将文件附加到这些帖子。我已经设置了CPT和metabox,还有上传功能。

当我在前端显示CPT时,我希望有一个文件的下载链接。为了简化,我想使用附带的MIME类型图标(wp-includes/images/crystal/document.png 例如)。使用wp_upload_bits() 元数组中没有MIME。

是否可以将MIME类型添加到函数中?或者我应该看看识别MIME的另一个函数/方法吗?

这是我的上传代码:

 $upload = wp_upload_bits($_FILES[\'resources_attachment\'][\'name\'], null, file_get_contents($_FILES[\'resources_attachment\'][\'tmp_name\']));

 if(isset($upload[\'error\']) && $upload[\'error\'] != 0) {
   wp_die(\'There was an error uploading your file. The error is: \' . $upload[\'error\']);
 } else {
 add_post_meta($id, \'resources_attachment\', $upload);
 update_post_meta($id, \'resources_attachment\', $upload);       
 }

1 个回复
最合适的回答,由SO网友:javy 整理而成

最终使用了wp_handle_upload(), 它会自动将MIME类型放入数据库。看见http://codex.wordpress.org/Function_Reference/wp_handle_upload

需要注意的是,此函数将文件作为post meta而不是附件输入DB中。wp_insert_attachment() 会做后者。

结束