Nueva pregunta

Pregunta:

Fecha: 18-01-2018 08:43:19 (En Español)

Como para enviar desde un formulario de contacto con la opción de adjuntar un archivo PHP[No resuelta]

Ayuda , por favor .. Etiquetas: PHP - Pregunta Votos: 0 - Respuestas: 1 - Vistas: 12 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 18-01-2018 10:43:01 Te dejo una funcion que sirve para ello, pero te recomiendo ocupes alguna clase como es: PHPMailer,
    Saludos...
    Stryfe™
    El formulario:
    <form name='formulario' id='formulario' method='post' action='enviar.php' target='_self' enctype="multipart/form-data"> 
    <p>Nombre <input type='text' name='Nombre' id='Nombre'></p> 
    <p>E-mail 
    <input type='text' name='email' id='email'>
    </p>
    <p>Asunto 
    <input type='text' name='asunto' id='asunto' />
    </p>
    <p>Mensaje 
    <textarea name="mensaje" cols="50" rows="10" id="mensaje"></textarea>
    </p>
    <p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p> 
    <p>
    <input type='submit' value='Enviar'> 
    </p> 
    </form>



    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)); 
    }




    La ocupas de la siguiente manera:

    if (form_mail("stryfe.eme@gmail.com", $_POST[asunto],
    "Los datos introducidos en el formulario son:\n\n", $_POST[email]))
    echo "Su formulario ha sido enviado con exito";

      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com