Wenas a tod@s
Estoy intentando validar un campo de archivo y a pesar de las múltiples ayudas q he encontrado en internet, no entiendo xq no funciona.
La tabla y los campos a validar son bastantes más d los q he resumido en el ejemplo q detallo a continuación, a fin d abreviarlo lo más posible.
Consta d un formulario con un sólo campo d tipo d "file", llamado "archivo". La tabla se llama "archivos" y contiene un único campo llamado "archivo", (varchar d 50).
<?php require_once('Connections/base.php'); ?>
<?php
if (isset($_POST['submit'])) {
if(is_uploaded_file($_FILES['archivo']['tmp_name'])) {
$ruta_destino = "images/";
if(move_uploaded_file($_FILES['archivo']['tmp_name'], $ruta_destino . $_FILES['archivo']['name']));
$query = "INSERT INTO archivos
VALUES ('".$_FILES['archivo']['name']."')";
mysql_query($query) or die(mysql_error()); }}
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<script language="javascript">
function comprueba_extension(formulario, archivo) {
extensiones_permitidas = new Array(".gif", ".jpg", ".doc", ".pdf");
mierror = "";
if (!archivo) {
//Si no tengo archivo, es que no se ha seleccionado un archivo en el formulario
mierror = "No has seleccionado ningún archivo";
}else{
//recupero la extensión de este nombre de archivo
extension = (archivo.substring(archivo.lastIndexOf("."))).toLo werCase();
//alert (extension);
//compruebo si la extensión está entre las permitidas
permitida = false;
for (var i = 0; i < extensiones_permitidas.length; i++) {
if (extensiones_permitidas[i] == extension) {
permitida = true;
break;
}
}
if (!permitida) {
mierror = "Comprueba la extensión de los archivos a subir. \nSólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join();
}else{
//submito!
alert ("Todo correcto. Voy a submitir el formulario.");
formulario.submit();
return 1;
}
}
//si estoy aqui es que no se ha podido submitir
alert (mierror);
return 0;
}
</script>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" name="formulario" id="formulario">
Archivo:
<input name="archivo" type="file" id="archivo" size="150" maxlength="150">
<br>
<br>
<input name="submit" type="button" value="Subir!" onClick="comprueba_extension(this.form, this.form.archivo.value)">
</form>
</body>
</html>
Si el tipo d botón lo pongo en "submit" en vez d "button" si lo envía a la BD y sube correctamente el archivo; si no, simplemente no hace nada
Les agradezco muchísimo cualquier sugerencia o ayuda q puedan aportar
Salu2!!