Foros del Web » Programando para Internet » PHP »

Problema validando <input type="file">

Estas en el tema de Problema validando <input type="file"> en el foro de PHP en Foros del Web. Hola, tengo el siguiente problemilla. Tengo un input file en un formulario que no es obligatorio mandar nada, pero si ponen un archivo se valida ...
  #1 (permalink)  
Antiguo 08/10/2010, 04:47
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Problema validando <input type="file">

Hola, tengo el siguiente problemilla. Tengo un input file en un formulario que no es obligatorio mandar nada, pero si ponen un archivo se valida en otra pagina.

Este es el codigo del input:

Código HTML:
<input type="file" name="archivo"//><br/>
    <div id="obligatorio">
        <font color="#999999">&bull;Solo se permiten archivos .pdf y .doc, y el archivo no puede sobrepasar los 2 MB de tama&ntilde;o.</font>
    </div> 
Cuando se pulsa el boton submit, manda toda la informacion del formulario a otra pagina para la validacion. Este es el codigo de validacion del input file

Código PHP:
if($_FILES["archivo"] != 0){
    if ((
$_FILES["archivo"]["type"] == "application/msword") || ($_FILES["archivo"]["type"] == "application/pdf")){
        if(
$_FILES["archivo"]["size"]<2048000){ // vemos si el tamaño es menor a 2048000 bytes
        
}else{
            
$error .= "El archivo excede de 2 Megas.<br>";
        }
    }else{
      
$error .= "El archivo que desea subir no es .doc o .pdf, int&eacute;ntelo nuevamente.<br>";
    }

He probado en poner if($_FILES["archivo"] != 0) y tambien if($_FILES["archivo"] != "") pero siempre me devuelve el error diciendo "El archivo que desea subir no es .doc o .pdf, int&eacute;ntelo nuevamente."

Alguna solucion

Gracias.
  #2 (permalink)  
Antiguo 08/10/2010, 05:00
 
Fecha de Ingreso: agosto-2010
Ubicación: españa
Mensajes: 94
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Problema validando <input type="file">

Espero esto te sirva


[B][<?php
$status = "";
if ($_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);

if ($archivo != "") {
// guardamos el archivo a la carpeta files
$destino = "files/".$prefijo."_".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
$status = "Archivo subido: <b>".$archivo."</b>";
} else {
$status = "Error al subir el archivo";
}
} else {
$status = "Error al subir archivo";
}
}
?>/B]

una cosa que no veo que es que los valores no estan asignados mira aver que ases

un saludo
  #3 (permalink)  
Antiguo 08/10/2010, 06:02
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Problema validando <input type="file">

Gracias por contestar rapblack.

El archivo no lo subiria al servior, lo que quiero hacer es si hubiera algun archivo que se valide y que se mande a un email con la funcion mail();

Pero muchas gracias. :(

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:20.