Foros del Web » Programando para Internet » PHP »

adjuntar archivo PHP

Estas en el tema de adjuntar archivo PHP en el foro de PHP en Foros del Web. Hola buena. tengo que enviar un correo desde una pagina y necesito que se puedan adjuntar archivos mi codigo HTML es es algo asi <form ...
  #1 (permalink)  
Antiguo 05/05/2012, 09:51
 
Fecha de Ingreso: septiembre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
adjuntar archivo PHP

Hola buena.

tengo que enviar un correo desde una pagina y necesito que se puedan adjuntar archivos

mi codigo HTML es es algo asi

<form action="index.php" method="post" enctype="multipart/form-data">
<tr>
<td>
adjunto:
</td>
<td>
<input type="file" name="archivo">
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="btsend" value="Enviar Email"></td>
<input type="hidden" name="action" value="send" />
</form>

y el PHP esta algo asi:

<?php
include("class.phpmailer.php");
include("class.smtp.php");

$archivo = $_FILES["archivo"];

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "[email protected]";
$mail->Password = "xxxxxxxxxx";
$mail->From = "[email protected]";
$mail->Subject = "Inscripcion Encuentro";
$mail->AltBody = "El Correo fue enviado en HTML. Consulte con el administrador para ver este correo";
$mail->MsgHTML("contenido del correo");
$mail->AddAttachment($_FILES["archivo"]);
$mail->AddAddress("[email protected]", "Encuentro");
$mail->IsHTML(true);

if(!$mail->Send()) {
echo "Error: " . $mail->ErrorInfo;
} else {
echo "Mensaje enviado correctamente";
}
?>


probe dejandolo de esa manera y tambien con la variable $archivo

el mensaje me llega al correo pero no el adjunto luego de enviar el correo me aparece este mensaje

Could not access file: Array Mensaje enviado correctamente
  #2 (permalink)  
Antiguo 05/05/2012, 09:54
 
Fecha de Ingreso: mayo-2012
Mensajes: 2
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: adjuntar archivo PHP

sddfsgfdsgfdgfb
  #3 (permalink)  
Antiguo 06/05/2012, 14:14
 
Fecha de Ingreso: septiembre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: adjuntar archivo PHP

Cita:
Iniciado por thekingston Ver Mensaje
sddfsgfdsgfdgfb
para que comentar si no vas a aportar

ehaveriguado por todos lados y mi codigo esta bien, existe alguna posibilidad que sea la configuracion del servidor??
  #4 (permalink)  
Antiguo 06/05/2012, 17:57
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: adjuntar archivo PHP

Te respondo sin tener fresca la sintaxis de addattachment.....
prueba así:

Código PHP:

$mail
->AddAttachment($_FILES["archivo"]["tmp_name"], $_FILES["archivo"]["name"]); 
  #5 (permalink)  
Antiguo 06/05/2012, 18:05
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: adjuntar archivo PHP

Realmente el archivo que vas adjuntar debe de existir físicamente en el servidor.

eje.
Código PHP:
Ver original
  1. $mail->AddAttachment("images/foto.jpg", "foto.jpg");
El codigo de oscartt67 te pudiera funcionar siempre y cuando estuviera subiendo primero el archivo y luego enviandolo.
Aqui te dejo un referencia clara del phpMailer

Saludos.
  #6 (permalink)  
Antiguo 06/05/2012, 18:16
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: adjuntar archivo PHP

Cierto. Gracias por ampliar / corregir respuesta.
  #7 (permalink)  
Antiguo 07/05/2012, 19:44
 
Fecha de Ingreso: septiembre-2007
Mensajes: 13
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: adjuntar archivo PHP

primero probe lo que dijo oscartt67 y funciono modifique mi PHP y listo


aunque le encontre sentido a lo que dijo gjx2, parece que funciona de manera relativa

Muchas gracias a los Dos

Saludos

Etiquetas: phpmailer, adjuntos
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 18:06.