how to check if the image field is empty or have uploaded image?
Try this:

if ($node = menu_get_object('node')) {

  // Set default language if not set
  $node-&gt;language = isset($node-&gt;language) ? $node-&gt;language : LANGUAGE_NONE;

  if ($node-&gt;type == 'page' &amp;&amp; isset($node-&gt;field_page_cover_image[$node-&gt;language][0]['uri'])) {
    print theme('image_style', 
            array('path' =&gt; $node-&gt;field_page_cover_image[$node-&gt;language][0]['uri'], 
                  'style_name' =&gt; 'page_theme'));
  }

}


Odd you're printing out the image though, must be in a tpl file. I'd suggest moving the code logic to a hook_preprocess_node and setting a template variable instead.

e.g:

/**
 * Implements hook_preprocess_node
 */
function MYTHEME_preprocess_node($variables){

  $node =&amp; $variables['node']; // by reference
  // Set default language if not set
  $node-&gt;language = isset($node-&gt;language) ? $node-&gt;language : LANGUAGE_NONE;

  if ($node-&gt;type == 'page' &amp;&amp; isset($node-&gt;field_page_cover_image[$node-&gt;language][0]['uri'])) {
    // Add new template variable called $page_theme_image
    $variables['page_theme_image'] = theme('image_style', 
            array('path' =&gt; $node-&gt;field_page_cover_image[$node-&gt;language][0]['uri'], 
                  'style_name' =&gt; 'page_theme'));
  }

}


and then in your tpl.php file, you just go:

if (!empty($page_theme_image)) {
  print $page_theme_image;
}