Foros del Web » Programando para Internet » PHP »

Adjuntar archivo en formulario

Estas en el tema de Adjuntar archivo en formulario en el foro de PHP en Foros del Web. Hola.. he estado leyendo varios temas acerca de esto pero no logro dar con el resultado Lo que tengo envía muy bien los correos pero ...
  #1 (permalink)  
Antiguo 20/12/2012, 11:32
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 12 años, 1 mes
Puntos: 1
Adjuntar archivo en formulario

Hola.. he estado leyendo varios temas acerca de esto pero no logro dar con el resultado Lo que tengo envía muy bien los correos pero ahora necesito adjuntar y no se como hacerlo, ya intenté de varias formas pero no resulta.. espero puedan ayudarme.

Tengo el siguiente formulario:

Código HTML:
<form name='contacto' id='contacto' method='post' action='enviar.php' target='_self' enctype="multipart/form-data"> 
<tr>
<td width="119"><em><font style="font-size:16px">Correo:</font></em></td>
<td width="363" align="left"><label><input type="text" name="mail" id="mail" maxlength="30"/></label><br></td>
</tr>

<tr>
<td width="119"><em><font style="font-size:16px">Asunto:</font></em></td>
<td width="363" align="left"><label><input type="text" name="tema" id="tema" maxlength="30"/></label><br></td>
</tr>

<tr>
<td align="left"><em><font style="font-size:16px">Mensaje:</font></em></td>
<td width="363" height="left"><label><textarea name="mensaje" id="mensaje"></textarea></label><br /><td>
</tr>

<tr>
<td align="left"><em><font style="font-size:16px">Adjuntar Archivo: </font></em></td><br />
<td width="363" height="left"><label><input type='file' name='archivo'></label><br /></td>
</tr>
</form> 
Y así es como envío el correo, aquí es en donde no se como hacerle para adjuntar archivos porque así como está funciona perfecto pero solo envia correos sin adjunto

Código PHP:
<?php
$tema 
$_POST['tema'];
$mail $_POST['mail'];

$header 'From: ' $mail " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
 
$mensaje '';
$mensaje .= "Este mensaje fue enviado por: \r\n\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el: " date('d/m/Y'time());
 
if (isset(
$_POST['si'])){
foreach (
$_POST['si'] as $para){
echo 
$para"<br>";


mail($para$temautf8_decode($mensaje), $header);
$tema '';
$tema .="Asunto: " $_POST['tema'];
}
}
echo 
"<script>document.location.href='info_personal.php';</script>\n";
 
?>
NOTA: el destinatario depende del checkbox que seleccione el usuario.

Gracias
  #2 (permalink)  
Antiguo 20/12/2012, 12:07
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 12 años, 2 meses
Puntos: 130
Respuesta: Adjuntar archivo en formulario

Puedes usar phpmailer y adjuntarlo añadiendole este "comando" ;)

$mail->AddAttachment($_FILES[archivo][tmp_name],$_FILES[archivo][name]);
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #3 (permalink)  
Antiguo 20/12/2012, 12:21
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Adjuntar archivo en formulario

Hola CoriaWeb! Gracias por responder.. pero de verdad que ya he intentado insertar eso y no puedo, soy muy inexperta en esto :s si no es mucha molestia, podrías decirme como incluirlo en mi código por favor?! te lo agradecería mucho!
  #4 (permalink)  
Antiguo 20/12/2012, 12:42
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 12 años, 2 meses
Puntos: 130
Respuesta: Adjuntar archivo en formulario

Vale, pero voy a salir y no volvere hasta dentro de unas 4 horas, si no te responde nadie luego te respondo lo dejo aqui como pendiente ;)
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #5 (permalink)  
Antiguo 20/12/2012, 12:55
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Adjuntar archivo en formulario

Ok.. CoriaWeb, gracias!! mientras seguiré intentando ..
  #6 (permalink)  
Antiguo 20/12/2012, 13:36
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Adjuntar archivo en formulario

Alguien puede ayudarme please!!
  #7 (permalink)  
Antiguo 20/12/2012, 15:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Adjuntar archivo en formulario

Cita:
Iniciado por munekitacazibarbie Ver Mensaje
Alguien puede ayudarme please!!
Pero no te indicaron que dentro de 4 horas te ayudan

Acuérdate que esto es un foro, no un chat que al menos con 24 horas debes dejar para que te respondan.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 20/12/2012, 15:45
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Adjuntar archivo en formulario

Hola abimaelrc:

Si, eso me indicaron y agradezco su atención, simplemente intentaba encontrar alguna respuesta a mi problema.

Y claro que tengo presente que no es un chat, no necesitas recordarmelo.

Gracias.
  #9 (permalink)  
Antiguo 20/12/2012, 19:06
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 12 años, 2 meses
Puntos: 130
Respuesta: Adjuntar archivo en formulario

Hola, aqui estoy de nuevo!! :D, haber, creo que confundes lo que es phpmailer, phpmailer es una libreria que tienes que descargarte de aqui: http://phpmailer.apache-extras.org.c...iler_5.2.2.zip, luego descomprimes el archivo y sube a tu sitio los archivos:

class.phpmailer.php
class.smtp.php

mira la ruta donde lo insertas porque a continuacion tienes que hacer un require.

y a continuación utiliza el código en tu código :P, voy a ver si soy capaz de hacer un ejemplo correcto con tu código, prueba así y me dices:

Código PHP:
Ver original
  1. <?php
  2. require("class.phpmailer.php");
  3. require("class.smtp.php");
  4.  
  5. $tema = $_POST['tema'];
  6. $email = $_POST['mail'];
  7.  
  8. $mail = new PHPMailer();
  9. $body = '';
  10. $body .= "Este mensaje fue enviado por: <br>";
  11. $body .= "Mensaje: " . $_POST['mensaje'] . " <br>";
  12. $body .= "Enviado el: " . date('d/m/Y', time());
  13. $mail->IsSMTP();
  14. /* Sustituye (ServidorDeCorreoSMTP)  por el host de tu servidor de correo SMTP*/
  15. $mail->Host = "localhost";
  16. /* Sustituye  ( CuentaDeEnvio )  por la cuenta desde la que deseas enviar  */
  17. $mail->From = "[email protected]";
  18. $mail->FromName = "Nombre remitente";
  19. $mail->Subject = $tema;
  20. $mail->AltBody = "prueba";
  21. $mail->MsgHTML($body);
  22. $mail->SMTPAuth = true;
  23.  
  24. /* Sustituye (CuentaDeEnvio )  por la misma cuenta que usaste en la parte superior en este caso  [email protected]  y sustituye (ContraseñaDeEnvio)  por la contraseña que tenga dicha cuenta */
  25.  
  26. $mail->Username = "[email protected]";
  27. $mail->Password = "tucontraseña";
  28.  
  29. $mail->AddAttachment($_FILES["archivo"]["tmp_name"],$_FILES["archivo"]["name"]);
  30.  
  31. if (isset($_POST['si'])){
  32. foreach ($_POST['si'] as $para){
  33. echo $para. "<br>";
  34.  
  35.  
  36. /* Sustituye  (CuentaDestino )  por la cuenta a la que deseas enviar por ejem. [email protected]  */
  37. $mail->AddAddress($email, "Mensaje");
  38.  
  39. $mail->Send();
  40.  
  41. $tema = '';
  42. $tema .="Asunto: " . $_POST['tema'];
  43. }
  44. }
  45. echo "<script>document.location.href='info_personal.php';</script>\n";
  46.  
  47. ?>

Ten comprension si no funciona correctamente, pero hacer todo ese codigo aqui es un poco dificil, si algo te falla di el error y vamos viendolo :D
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #10 (permalink)  
Antiguo 21/12/2012, 10:06
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Adjuntar archivo en formulario

Hola! Una disculpa por responder hasta hoy, ya mismo lo pruebo y te comento lo que pase.. mil mil gracias :)

Etiquetas: adjuntar, formulario, usuarios
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 13:08.