I tried this and it worked for me
foreach ($course_video_files['name'] as $key => $value):
if ($course_video_files['name'][$key]) {
$file = array(
'name' => $course_video_files['name'][$key],
'type' => $course_video_files['type'][$key],
'tmp_name' => $course_video_files['tmp_name'][$key],
'error' => $course_video_files['error'][$key],
'size' => $course_video_files['size'][$key]
);
$upload_video_id = MPR_Core::upload_media($file);
if( is_int($upload_video_id) ):
// if upload is success do something with attachment id
endif;
}
endforeach;
and use this function for uploading
function upload_media($file, $post_id = null){
// handle video upload
$uploadedfile = $file;
$upload_overrides = array(
'test_form' => false
);
$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
if ( $movefile && ! isset( $movefile['error'] ) ) {
if( is_array($movefile) && !empty($movefile) ):
// $filename should be the path to a file in the upload directory.
$filename = $movefile['file'];
//$filename = '/path/to/uploads/2013/03/filename.jpg';
// The ID of the post this attachment is for.
$parent_post_id = $post_id;
// Check the type of file. We'll use this as the 'post_mime_type'.
$filetype = wp_check_filetype( basename( $filename ), null );
// Get the path to the upload directory.
$wp_upload_dir = wp_upload_dir();
// Prepare an array of post data for the attachment.
$attachment = array(
'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ),
'post_mime_type' => $filetype['type'],
'post_title' => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
'post_content' => '',
'post_status' => 'inherit'
);
// Insert the attachment.
$attach_id = wp_insert_attachment( $attachment, $filename, $parent_post_id );
// Make sure that this file is included, as wp_generate_attachment_metadata() depends on it.
require_once( ABSPATH . 'wp-admin/includes/image.php' );
// Generate the metadata for the attachment, and update the database record.
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
set_post_thumbnail( $parent_post_id, $attach_id );
return $attach_id;
else:
return false;
endif;
} else {
/*
* Error generated by _wp_handle_upload()
* @see _wp_handle_upload() in wp-admin/includes/file.php
*/
//echo $movefile['error'];
return $movefile;
}
}
image[]?