Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/02/2013, 09:07
desoler
 
Fecha de Ingreso: agosto-2008
Ubicación: Miami, FL
Mensajes: 210
Antigüedad: 16 años, 3 meses
Puntos: 2
Pregunta ajuntar archivo xls con php

Hola gente.
He generado un fichero.xls con datos desde mysql.
Este fichero necesito enviarlo adjunto con un email que se envia automaticamente.
El fichero se envia, pero me llega "noname 0kb".
El codigo que utilizo es el siguiente:

Código PHP:
Ver original
  1. $name = "test";
  2. $email = "[email protected]";
  3. $to = "$name $email";
  4.  
  5. $from = "testing";
  6.  
  7. $subject = "file attached";
  8.  
  9. $fileatt = "fichero.xls";
  10.  
  11. $fileatttype = "application/vnd.ms-excel";
  12.  
  13. $fileattname = "fichero.xls";
  14.  
  15. $headers = "From: $from";
  16.  
  17. $file = fopen($fileatt, 'rb');
  18.  
  19. $data = fread($file, filesize($fileatt));
  20.  
  21. fclose($file);
  22.  
  23. $semi_rand = md5(time());
  24.  
  25. $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
  26.  
  27. $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
  28.  
  29. $message = "This is a multi-part message in MIME format.\n\n" . "-{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\n" . "Content-Transfer-Encoding: 7bit\n\n" .
  30.  
  31. $message .= "\n\n";
  32.  
  33. $data = chunk_split(base64_encode($data));
  34.  
  35. $message .= "–{$mime_boundary}\n" . "Content-Type: {$fileatttype};\n" . " name=\"{$fileattname}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileattname}\"\n" . "Content-Transfer-Encoding: base64\n\n" .
  36.  
  37. $data . "\n\n" . "-{$mime_boundary}-\n";
  38.  
  39. if(mail($to, $subject, $message, $headers)) {
  40.  
  41. echo "The email was sent.";
  42.  
  43. } else {
  44.  
  45. echo "There was an error sending the mail.";

De echo el codigo funciona a medias, ya que me envia un archivo pero sin nombre y sin contenido.
Alguien puede decirme en que estoy fallando por favor?
Tambien he probado utilizar phpmailer, pero me da errores y ni siquiera me envia el archivo.

Desde ya muchas gracias por el tiempo prestado
__________________
Se invierte mas dinero en cirugía de pechos y viagra que en la cura del Alzheimer. En unos años tendremos viejas con grandes tetas y viejos con erecciones pero que no recordarán para que sirven..