Tengo un problema con un formulario y no se si hice bien al postearlo aca. Mi problema es el siguiente resulta que yo hice un formulario en html el cual llena una informacion y adjunta un o dos archivos archivos, el problema esta en que yo cuando coloco mi email de hotmail para recibir toda la informacion y el (los) archivo(s) adjunto(s) solo me manda la direccion de donde tomo ese archivo (C:\\Documents and Settings\\Administrator\\My Documents\\img_fondo.jpg), como hago para que me envie el archivo adjunto??.
Les envio el html:
Código :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin título</title> </head> <body> <form enctype="multipart/form-data" name="doit" action="env_attach.php" method="post"> <table cellpadding=0 cellspacing=0 width="295"><tr> <td width="295" height="26"> <font face="Arial, Helvetica, sans-serif" size="2"><b>Tu nombre:<br> </b></font> <input type="text" name="name" size=30><br> </td> </tr> <tr> <td width="295"> <font face="Arial, Helvetica, sans-serif" size="2"><b>Tu e-mail:<br> </b></font> <input type="text" name="from" size=30><br> </td> </tr> <tr> <td width="295"> <font face="Arial, Helvetica, sans-serif" size="2"><b>Archivo:<br> </b></font> <input type=file name="attach" size=30><br> </td> </tr> <td width="295"> <tr> <td width="295" height="23"><font face="Arial, Helvetica, sans-serif" size="2"><b>Asunto:<br> </b></font> <input type="text" name="subject" size=30> <br> </td> </tr></table> <p align="left"> <font face="Arial, Helvetica, sans-serif" size="2"><b>Mensaje:</b></font><br> <textarea name="body" rows=10 cols=35 wrap="message"></textarea><br><br> <input type="submit" name="sendmail" value="enviar"> </p> </form> </body> </html>
y el php:
Código :
<?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)); } //Ejemplo de como usar: if (form_mail("[email protected]", "Envio de Formulario", "Los datos introducidos en el formulario son:\n\n", $HTTP_POST_VARS[email] ) ) echo "Su formulario ha sido enviado con exito"; ?>
Gracias de antemano.