Hola,
@adastra, en realidad con el campo "file" no es tan sencillo como parece. El campo file no es otro botón tan normal y corriente como los demás y CSS apenas puede con el.
@Neibar, lo que se me ocurre es que uses javascript para imitar el evento. Tu pones la imagen o el boton, y luego haces con javascript que al clickear sobre ese boton, en realidad clickee sobre el campo file.
Ejemplo (con jquery):
#btnexaminar {display:none}
<form action="upload.php" method="post" enctype="multipart/form-data"> <input name="archivo" type="file" id="btnexaminar" class="oculto" size="35" /> <img src="imagen.png" alt="Boton Examinar" onClick="document.getElementById('btnexaminar').click(); /> <input name="archivo" type="file" size="35" /> <input name="enviar" type="submit" value="Subir" /> <input name="action" type="hidden" value="upload" />
Saludos