This is the uploaded form.
This was a very important issue for me in order for my site to be multilingual. So here is my conclusion tested in Firefox and Chrome.
jQuery trigger comes in handy.
So this hides the standard boring type=file
labels. You can place any label you want and format anyway. I customized a script from http://demo.smarttutorials.net/ajax1/. The script allows multiple file uploads with thumbnail preview and uses PHP and MySQL.
$('#select_file').click(function() {
$('#images_up').trigger('click');
$('#images_up').change(function() {
var filename = $('#images_up').val();
if (filename.substring(3,11) == 'fakepath') {
filename = filename.substring(12);
} // Remove c:\fake at beginning from localhost chrome
$('#my_file').html(filename);
});
});