Suponiendo que tengo
Código:
<form method="post" action="" name='form' enctype="multipart/form-data">
<input type="file" name="archivo" size="20">
</form
usando el phpmailer tengo dudas para adjuntar el archivo, No deseo subirlo al servidor lo unico es que se adjunte y se envie. Eh estado leyendo los demas temas en el foro, pero aun no salgo de dudas y no adjunta el archivo.
Código:
if (isset ($_FILES["archivos"])) {
$msg .= "<ul>";
foreach ($_FILES["archivos"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["archivos"]["tmp_name"][$key];
$name = $_FILES["archivos"]["name"][$key];
$msg .= "<li>$name</li>";
$name = uniqid('bc') . '_' . $name; # Generar un nombre único para el archivo
$mail -> AddAttachment ($tmp_name, $name);
/*
Si se van a guardar los archivos en un directorio, deberían descomentarse
las siguientes líneas, si se van a guardar los nombres
de los archivos en una base de datos, aquí debería realizarse algo...
move_uploaded_file($tmp_name, "ruta/directorio/$name"); # Guardar el archivo en una ubicación, debe tener los permisos necesarios
*/
} #if
} # foreach
$msg .= '</ul>';
} # if
if (!$mail -> Send ()){
$msg = "No se pudo enviar el email";
}
Siempre veo el uso del foreach pero solo es un campo tipo file llamado archivo, y no lo adjunta envia el resto del mail pero el archivo adjunta no aparece.. Entiendo que la variable de envio con el class de phpmailer es $mail -> AddAttachment ($tmp_name, $name); hace esto porque si el archivo tiene espacios los convierte a un nuevo name y lo adjunta, pero no lo adjunta! nose donde estaria mi error. ó ejemplizar en simple form con su codigo de phpmailer para enviar un solo archivo, Gracias de ante mano!