Jojsojsosjos, la que se ha liao en este Post, mola mola xDDDDDD
Weno, la verdad es que despues de estar pensando un buen rato, me he dado cuenta de que si que se podía hacer la comprobación, pero claro, hay que utilizar Javascript para ello, así que manos a la obra
Las siguientes 2 páginas trabajan de la siguiente manera:
Página INDEX.HTML
- Es donde está el formulario con el campo del archivo, y con el botón ENVIAR deshablitado por defecto
- Una vez se selecciona un archivo, mediante Javascript se abre un popup automáticamente y se carga la página COMPRUEBA.ASP
Página COMPRUEBA.ASP
- Recupera el nombre del achivo que le ha pasado INDEX.HTML, y hace la comprobación en la BBDD
- Si el archivo existe en la BBDD, muestra un mensaje de error y un botón de Cerrar Ventana
- Si el archivo NO existe en la BBDD, se cierra la ventana automáticamente, y se activa el botón de ENVIAR de la página INDEX.HTML
Weno, pos al trapo, aquí teneis el código (lo que ma costao el jodio) xDDD
INDEX.HTML
Código PHP:
<html>
<head>
<title>Subir Fotos</title>
<script language="JavaScript">
function verificar(){
var X = (screen.width/2)-100;
var Y = (screen.height/2)-200;
var posicion = "left="+X+",top="+Y;
var ruta = document.formulario.archivo.value;
var nombre = ruta.split('\\');
var nombre = nombre[nombre.length-1];
var direccion = 'comprueba.asp?nombre=' + nombre + ''
var referenciaVentana = window.open(direccion,'Preg','toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=no,resizable=no,width=200,height=100,'+posicion);
}
function borrar(){
document.formulario.archivo.value = "";
return false;
}
</script>
</head>
<body>
<table border="0" width="300" border="1" align="center">
<tr>
<td>
<form name="formulario" method="get" action="final.asp">
<input name="archivo" type="file" onchange="verificar()" onKeyDown="return borrar()" onKeyUp="return borrar()" size="10">
<input type="submit" name="Submit" value="Enviar" disabled>
</form>
</td>
</tr>
</table>
</body>
</html>
COMPRUEBA.ASP
Código PHP:
<%@LANGUAGE="VBSCRIPT"%>
<%
nombre_archivo = Request.QueryString("nombre")
'Aquí tendremos que ejecutar la consulta a la BBDD
accion = ""
mensaje = ""
if NOT Rs.EOF Then
mensaje = "<center><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>"
mensaje = mensaje & "El Archivo <b>" & nombre_archivo & "</b> ya existe en la BBDD<br><br>"
mensaje = mensaje & "<input type='button' name='Submit' value='Cerrar' onclick='javascript:window.close()></font></center>"
else
accion = "correcto()"
End if
%>
<html>
<head>
<title>Verificando...</title>
<script language="JavaScript">
function correcto(){
opener.document.formulario.Submit.disabled = false;
window.opener.focus();
window.close();
}
</script>
</head>
<body OnLoad="<%= accion %>">
<%= mensaje %>
</body>
</html>
Si quereis hacer una prueba sin tener que acceder a la BBDD, cambiar esta línea de COMPRUEBA.ASP:
if NOT Rs.EOF Then
por esta (para ver que pasa cuando el archivo existe en la BBDD):
If correcto <> 1 Then
o por esta (para ver que pasa cuando el archivo NO existe en la BBDD):
If correcto = 1 Then
Bueno, ya direis que tal ;)