sto utilizzando javascript per personalizzare i campi gli <input type='file'> dato che attualmente risulta impossibile personalizzarli tramite css.

Codice PHP:
var W3CDOM = (document.createElement && document.getElementsByTagName);

window.onload=initFileUploads;

function 
initFileUploads() {
    if (!
W3CDOM) return;
    var 
fakeFileUpload document.createElement('div');
    
fakeFileUpload.className 'fakefile';
    
fakeFileUpload.appendChild(document.createElement('input'));
    var 
image document.createElement('img');
    
image.src='style/img.gif';
    
fakeFileUpload.appendChild(image);
    var 
document.getElementsByTagName('input');
    for (var 
i=0;i<x.length;i++) {
        if (
x[i].type != 'file') continue;
        if (
x[i].parentNode.className != 'fileinputs') continue;
        
x[i].className 'file hidden';
        var clone = 
fakeFileUpload.cloneNode(true);
        
x[i].parentNode.appendChild(clone);
        
x[i].relatedElement = clone.getElementsByTagName('input')[0];
        
x[i].onchange x[i].onmouseout = function () {

            
this.relatedElement.value this.value;
        }
    }

il problema che ho riscontrato è che in tutti i browser (firefox escluso), quando nel finto campo "input" viene mostrato il nome del file selezionato, appare questo percorso "C:\fakepath\" prima del nome (esempio: C:\fakepath\file.txt anzichè file.txt )

per eliminare questo testo pensavo di utilizzare la funzione replace("C:\fakepath\", "") ma non ho capito come...

qualcuno riesce a darmi una mano?