Upload images in custom modules I work on D7, and create form from custom modules. Create a field upload images by 
$form['#attributes']['enctype'] = 'multipart/form-data';
$form['image'] = array(

'#type' =&gt; 'file',

'#title' =&gt; t('Upload picture'),

'#description' =&gt; t('Select a picture of at least @dimensionspx and maximum @filesize.', array(

  '@dimensions' =&gt; '1000x1000',

  '@filesize' =&gt; format_size(file_upload_max_size()),

)),


);

Show form correct.



and submit form by hook_form_submit();
print $form_state, upload images not find.
How to get values of upload image.

Write Also

$file = file_save_upload('image', array(
    'file_validate_is_image' => array(),
    'file_validate_image_resolution' => array('500x500', '100x100'),
  ), 'public://uploaded_images/', FILE_EXISTS_RENAME);

Not find of upload image.
Drupal makes a distinction between regular files and managed files. The first are only stored on the filesystem, the second are stored in the database (managed) as well.

If you use a manged file (type = 'managed_file') the $form_state will contain a file id (fid) of the newly stored image. 

Also note that file_save_upload takes the file path as the first parameter, so 'image' means nothing there. And that you still have to store your image as a permanent file after file_save_upload():

$file = file_load($logo);
$file-&gt;status = FILE_STATUS_PERMANENT;
file_save($file);
file_usage_add($file, 'your_module', 'using_entity_type', $entity_id);