Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/10/2013, 22:54
iszyde
 
Fecha de Ingreso: marzo-2013
Ubicación: Estado de Mexico
Mensajes: 3
Antigüedad: 11 años, 1 mes
Puntos: 0
Pregunta formulario en php con archivos adjuntos

Hola amigos! espero que estén bien y puedan ayudarme con un asunto,


hace tiempo logre hacer funcionar un php para que pudieran enviarme un formulario
en el cual deben de mandarme algunas fotografias, ademas de datos personales.

y de echo funciona, sin embargo a mi poco conocimiento sobre php y protocolos sobre mailing, hay veces en que el formulario llega en blanco al correo de destino.

me han dicho que es por el tamaño de las fotos que mandan es muy grande,
me gustaría saber si hay alguna manera de limitar el tamaño de las imagenes

y siendo caprichoso ver si hay algún tutorial para validar de una manera muy bonita :) les dejo el código de mi php que utilizo, a ver si alguien puede ayudarme muchas gracias!






<?php
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";

if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;

foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}


if (form_mail("[email protected]", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
echo "Su formulario ha sido enviado con exito";
?>