Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/09/2018, 18:50
Avatar de bathory84
bathory84
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela
Mensajes: 257
Antigüedad: 13 años, 10 meses
Puntos: 1
Validar formulario php de archivos

Amigos necesito ayuda, no soy experto en php. Tengo casi listo un formulario para subir archivos y ser enviados via mail, solo me falta validar el tamaño maximo (5 mb) y colocar que solo acepte archivos tipo .pdf / .doc. / .docx / .jpg / .png este es mi codigo que funciona bien, me gustaria que me ayudaran a colocarle estas validaciones a este codigo:

Código PHP:
<?php

  $para    
"[email protected]";//$_POST['para'];
  
$asunto  "Envio de CV o Titulo";//$_POST['asunto'];
  

  // procedemos a subir el archivo adjunto al servidor
  
$origen $_FILES['curriculo']['tmp_name'];
  
$destino "curriculos/".$_FILES['curriculo']['name'];

  if(!@
move_uploaded_file($origen$destino)){
    die(
"Error al tratar de enviar el Archivo");
  }
  
    
// abrimos el archivo y lo leemos
  
$fp fopen($destino'rb');
  
$data fread($fp$_FILES['curriculo']['size']);
  
fclose($fp);
  
//$data = file_get_contents($destino);

  //aplicamos el formato RFC 2045
  
$data chunk_split(base64_encode($data));

  
//inicializamos el borde multiparte
  
$borde_mime "BORDE_MULTIPARTE_123";
  
  
//definición del \r\n
  
$ent chr(13).chr(10);

  
//se indica el tipo multiparte y se le indica el nombre del borde
  
$encabezados "Content-Type: multipart/mixed; boundary=".chr(34).$borde_mime.chr(34);
  
  
//se crea el cuerpo del mensaje
  
$mensaje  "--$borde_mime".$ent 
  
$mensaje .= "Content-Type: text/html; ".
              
"charset=".chr(34)."iso-8859-1".chr(34).";".$ent.$ent;
  
$mensaje .= $_POST['mensaje'].$ent.$ent;
             
  
//se inserta un nuevo borde, la información del archivo y la data
  
$mensaje .= "--$borde_mime".$ent;
  
$mensaje .= "Content-Type: ".$_FILES['curriculo']['type'].";".
             
"name=".chr(34).$_FILES['curriculo']['name'].chr(34).";".$ent;
  
$mensaje .= "Content-Transfer-Encoding: base64 ".$ent;
  
$mensaje .= "Content-Disposition: attachment; filename=".chr(34).$_FILES['curriculo']['name'].chr(34).";".$ent.$ent;
  
$mensaje .= "$data".$ent;


  
//se incluye el fin de los contenedores
  
$mensaje .= "--$borde_mime--".$ent;

    
$enviado mail($para,$asunto,$mensaje,$encabezados);



if(
$enviado == true){
               
            print 
'<script language="JavaScript">';
            print 
'alert("El Archivo ha sido enviado satisfactoriamente.");';
              print 
'location.href=("trabajos.html");';
            print 
'</script>';
            } 
            else 
            {
            print 
'<script language="JavaScript">';
            print 
'alert("El Archivo no se ha podido enviar. \nIntente de Nuevo.");';
              print 
'location.href=("trabajos.html");';
            print 
'</script>';
            
}
?>