Como descargar archivos y enviar a un correo al mismo tiempo

Que tal buenas tardes disculpa como puedo descargar archivos y al mimos tiempo enviar un correo en php tengo un tabla donde aparece datos y al finar aparece el nombre del archivo pero lo que quiero que al momento que le clic con el mouse me lo descargue el archivo y me envié un correo

1 respuesta

Respuesta

Hazlo así:

Envías el correo y luego lo redirecciona a otra página donde se forza la descarga del archivo:

Envio de correo:

$asunto = "descargade: ".$nom;
// $nom es el nombre del archivo descargado
$to = "email de tu cliente @servidor.com";
$subject = $asunto;
      $bound_text = "----*%$!$%*";
       $bound = "--".$bound_text."\r\n";
       $bound_last = "--".$bound_text."--\r\n";
//     OJO con la siguiente instruccion. Es tu correo creado en tu servidor... así evitas el spam
// en mi caso es:      [email protected]
       $headers = "From: [email protected].\r\n";
       $headers .= "MIME-Version: 1.0\r\n" . 
"Content-Type: multipart/mixed; boundary=\"$bound_text\""."\r\n" ;
       $message = " you may wish to enable your email program to accept HTML \r\n".
       $bound; 
       $message .= 
'Content-Type: text/html; charset=UTF-8'."\r\n".
'Content-Transfer-Encoding: 7bit'."\r\n\r\n".
'
aqui va el texto del mensaje
'."\n\n". 
$bound;
$file = file_get_contents("");
$message .= ""
.$bound_last; 
$sent = mail($to, $subject, $message, $headers) ;

luego lo llevas a forzar la descarga del archivo...

<?php 
$sDirectorio = "/descargas/"; //Introducir directorio de descargas 
$sUrlDescargas = $_SERVER["DOCUMENT_ROOT"].$sDirectorio; 
$vBarras = array("/", "\\"); 
$sDocumento = $sUrlDescargas.str_replace($vBarras, "_", $_GET["doc"]); 
header("Content-type: application/force-download"); 
header("Content-Disposition: attachment; filename=".basename($_GET["doc"])); 
header("Content-Transfer-Encoding: binary"); 
header("Content-Length: ".filesize($sDocumento)); 
if (!@readfile($sDocumento)) 
echo "<br>Ha sido imposible descargar el fichero"; 
?> 

Creo que te funciona.

Si tienes problemas nos escribes...

SiREZ

Si gracias me quedo muy bien modifique lo que me habías pedido y descarga diferentes archivos y me envía a un correo, a hora como puedo hacer para cada vez que se descarga me envíe una paloma de que se envío o algo para saber que se envío bien ya sea que aparezca una palomita y se quite eso significara que se envío correctamente

Lo que pides, la confirmación de recibido del correo depende del proveedor. Hotmail, gmail... etc. Eso no lo podemos controlar desde php

Normalmente lo que puedes hacer es crear un link dentro del texto del correo, invitando a la persona que lo recibe a hacer clic allí para enviarle otra información o con otro pretexto.

Si el usuario hace clic en el link o en una imagen, tu recibirás confirmación de que si lo recibió con éxito...

Mira a ver si lo implementas ote puedo colaborar...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas