Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/02/2004, 09:54
Copon
 
Fecha de Ingreso: abril-2001
Mensajes: 31
Antigüedad: 23 años
Puntos: 0
Poner el mismo nombre en un attachment

Hola:
Estoy haciendo un pequeño formulario que envia un attachment a un email mediante un PHP, pero lo que no consigo es poner en el email que llega el mismo nombre del archivo del que lo envia.
Por tanto pongo un nombre fijo, pero lo que yo quiero es que en el email llegue el mismo nombre del archivo original

En HTML que uso seria algo asi:

------------------------------------------------
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" enctype="multipart/form-data" method="post" action="enviaArchivo.php">
<input type="file" name="archivoEnviado">
<br>
<br>
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
----------------------------------------------

Y en PHP algo asi:

Código PHP:
<?php 
$archivo 
$archivoEnviado// ruta al archivo           
$archivoType "application/octet-stream"// tipo de archivo
$archivoNombre "miArchivo"// NOMBRE, AQUI ES DONDE PONGO ALGO FIJO

$remitente "[email protected]"
$asunto "Envío de archivo"
$texto "Hola, aquí le llega un attachment"// mensaje del email

$destino "[email protected]"

$headers "From: ".$remitente

$file fopen($archivo,'rb'); 
$data fread($file,filesize($archivo)); 
fclose($file); 

$semi_rand md5(time()); 
$mime_boundary "==Multipart_Boundary_x{$semi_rand}x"
    
$headers .= "\nMIME-Version: 1.0\n" 
            
"Content-Type: multipart/mixed;\n" 
            
" boundary=\"{$mime_boundary}\""

$mensaje .= "This is a multi-part message in MIME format.\n\n" $texto 
                
"--{$mime_boundary}\n" 
                
"Content-Type:text/html; charset=\"iso-8859-1\"\n" 
               
"Content-Transfer-Encoding: 7bit\n\n" 
$mensaje "\n\n"

$data chunk_split(base64_encode($data)); 

$mensaje .= "--{$mime_boundary}\n" 
                  
"Content-Type: {$archivoType};\n" 
                  
" name=\"{$archivoNombre}\"\n" 
                  
"Content-Transfer-Encoding: base64\n\n" 
                 
$data "\n\n" 
                  
"--{$mime_boundary}--\n"

$ok = @mail($destino$asunto$mensaje$headers); 

if(
$ok) { 
echo 
"<font face=verdana size=2>El mensaje se ha enviado correctamente.</font>".$archivoEnviado
} else { 
die(
"Lo sentimos, pero el email no pudo ser enviado. Por favor vuelva e intenténtelo de nuevo."); 


?>
Gracias