Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/06/2010, 18:34
Avatar de wiwi74
wiwi74
 
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 2 meses
Puntos: 10
Respuesta: Validar extension de imagen

Disculpas, ni lo habia visto al formulario

Tu codigo funciona muy bien solo habia que ordenarlo, y agregarle unas pequeñas cosas, lo cual hice... y mejor te devuelvo todo el codigo con esos pequeños cambios:

Verifica que uno de los codigos es javaScript, no php; y otro si php (el upload)

Crea un archivo php y mete todo esto, solo ejecutalo, carga una imagen (con el boton examinar), y el codigo hara todo lo demas... la imagen sera subida al mismo directorio donde este este script...

Al documento nuevo no le abras ni cierres etiquetas, solo mete el codigo y listo

Luego hazle las modificaciones que te interesen:

Código PHP:


<!-- Esto reemplaza a tu simple etiqueta <script> -->
<script type="text/javascript" language="javascript"> 
<!--  

function comprueba_extension(formulario, archivo) { 

//alerts para que vea lo que te muestra y lo analices
alert(formulario);
alert(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("."))).toLowerCase(); 
      //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."); 
         //a esta linea le faltaba "document"
         document.formulario.submit(); 
         return 1; 
       } 
   } 
   //si estoy aqui es que no se ha podido submitir 
   alert (mierror); 
   return 0; 


--> 
</script>  

<!--
"this.form.name" contiene el nombre del formulario
"this.form[0].value" contiene la ruta del archivo a subir
-->

<form name="formulario" enctype="multipart/form-data" method="POST" action="">

<input type="file" 
           name="archivo" 
           id="archivo"
          onchange="comprueba_extension(this.form.name,this.form[0].value)"><br>

<!-- <input type="submit" value="Enviar"> -->
</form>


<?php 

//echo "Se subira ". $_FILES['archivo']['name'];
//$ruta = "./imagenes/" . $_FILES['archivo']['name']; 
$ruta $_FILES['archivo']['name']; 

$r=copy($_FILES['archivo']['tmp_name'], $ruta); 

if(
$r){
echo 
"La imagen subio correctamente"
}

?>