WordPress 3.0 custom post type with upload
This is a fairly basic example, but it should get you on your way;
function my_upload_field(){ echo '<input type="file" name="my_upload_field" />';}add_action('init', create_function('', 'add_meta_box("my_upload_field", "Upload File", "my_upload_field", "post");'));function handle_upload_field($post_ID, $post){ if (!empty($_FILES['my_upload_field']['name'])) { $upload = wp_handle_upload($_FILES['my_upload_field']); if (!isset($upload['error'])) { // no errors, do what you like } }}add_action('wp_insert_post', 'handle_upload_field', 10, 2);
Check out the codex on add_meta_box, and take a look at wp_handle_upload()
(line 239 wp-admin/includes/file.php
as of 3.0) for more information.