encontré en el foro 2 cosas:
1. validar que el tipo de imagen a subir sea una determinada
2. truquillo para que no se pueda escribir en input type file.
lo primero lo hago asi:
Código PHP:
function LimitAttach(tField,iType)
{
file=tField.value;
if (iType==1)
{
extArray = new Array(".gif",".jpg",".png");
}
if (iType==2)
{
extArray = new Array(".swf");
}
if (iType==3)
{
extArray = new Array(".exe",".sit",".zip",".tar",".swf",".mov",".hqx",".ra",".wmf",".mp3",".qt",".med",".et");
}
if (iType==4)
{
extArray = new Array(".mov",".ra",".wmf",".mp3",".qt",".med",".et",".wav");
}
if (iType==5)
{
extArray = new Array(".html",".htm",".shtml");
}
if (iType==6)
{
extArray = new Array(".doc",".xls",".ppt");
}
allowSubmit = false;
if (!file) return;
while (file.indexOf("\\") != -1) file = file.slice(file.indexOf("\\") + 1);
ext = file.slice(file.indexOf(".")).toLowerCase();
for (var i = 0; i < extArray.length; i++)
{
if (extArray[i] == ext)
{
allowSubmit = true;
break;
}
}
if (allowSubmit)
{
document.getElementById('ruta_fichero').value=document.getElementById('foto').value;
}
else
{
// tField.value="";
document.getElementById('ruta_fichero').value="";
alert("Usted sólo puede subir archivos con extensiones " + (extArray.join(" ")) + "\nPor favor seleccione un nuevo archivo");
}
}
en cuanto lo segundo lo hago asi:
Código PHP:
<div id="todoElFile">
<input style="width:0px;position:absolute;left:185px;top:199px;height:16px;font-size:10px;border:solid 1px;border-color: #666666;" type="file" name="foto" id="foto" onblur="LimitAttach(this,1) ">
<input type="text" style="width:70px;height:16px;font-size:10px;border:solid 1px;border-color: #666666;" readonly name="ruta_fichero">
</div>
conclusion:
lo ideal seria
campo tipo text read only.
pulsar sobre examinar y elegir imagen
si la imagen no es correcta-> error...
si la imagen es correcta -> se mete el valor de la imagen elegida en el input text y se acabo.
no se si me explique bien...
gracias, un saludo