Ver Mensaje Individual
  #24 (permalink)  
Antiguo 05/07/2010, 20:47
Avatar de Enmiguel
Enmiguel
 
Fecha de Ingreso: julio-2010
Mensajes: 26
Antigüedad: 14 años, 5 meses
Puntos: 0
Modificar el Uploader para que solo acepte imagenes

Primero que todo muchas gracias por el post del "http://www.forosdelweb.com/f18/como-hago-uploader-imagenes-822095/Uploader de imagenes, ahora lo que quisiera es saber como hacer que ese uploader solo permita subir jpg, png y gif ? queda otra duda sobre el uploader, pero sera despues que me ayuden a resolver esta.

Codigo de up.html

Código HTML:
<html>
<head>
<link rel="shortcut icon" href="http://usonokia.com.ve/foro/favicon.ico">
<title>Subir Imagenes</title>
</head>
<body>
<body background="fondo.jpg"> 
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<table align="center" width="250"><div align="center">
<form action="./subearchivo.php" method="post" enctype="multipart/form-data"> 
 <tr><td width="250"><div align="left">
  <b>Enviar un nuevo archivo: </b>
 <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  </div>
  </td></tr>
  <tr><td>
 <input name="userfile" type="file">
  </td></tr>
  <tr><td>
 <input name="enviar" type="submit" id="enviar" value="Enviar" /> 
 <input name="action" type="hidden" value="upload" /> <!-- ------- Aqui faltaba esta linea, todo lo demas estaba bien -->
  </td></tr>
</form>
</div></table>
</body>
</html> 
Y el codigo de subearchivo.php

Código PHP:
<?php    
error_reporting
(E_ALL & ~E_NOTICE);   
$status "";   
if (
$_POST["action"] == "upload") {   
// obtenemos los datos del archivo    
    
$tamano $_FILES['userfile']['size'];   
    
$tipo $_FILES['userfile']['type'];   
    
$archivo $_FILES['userfile']['name'];   
       
    if (
$archivo != "") {   
// guardamos el archivo a la carpeta files   
        
$destino =  "./../../../foro/images/post/".$archivo// Aqui los "./../../" indican la profundidad de la carpeta, deberas de quitar o poner dependiendo de cuantas carpetas haya hasta llegar al raiz de la web.  
        
if (copy($_FILES['userfile']['tmp_name'],$destino)) {   
            
$status "Archivo subido: <b>".$archivo."</b>";  
        
header('Location: ./../../../foro/images/post/up.html'); // Aqui los "./../../" indican la profundidad de la carpeta, deberas de quitar o poner dependiendo de cuantas carpetas haya hasta llegar al raiz de la web.  
        
} else {   
            
$status "Error al subir el archivo";   
        }   
    } else {   
        
$status "Error al subir archivo";   
    }   
}   
?>   
<?php echo $status?>
Gracias una ves mas.