Newsgroup: it.comp.www.php
Titolo: Strano... Download+Mail

Ho creato 2 script: uno per il dowload di un file in una directory e
uno per l'invio di una mail.
Singolarmente funzionano. Se invece li scrivo uno sotto l'altro il
secondo no va!! Perchè?
Il mio scopo è quello di far fare il dowload di quel file e
contemporaneamente farmi mandare una email del tipo "è stato scaricato
il file xxxx.xxx". Lo script è questo:
<?php
//DOWNLOAD FILE
$path="./download/";     // directory da cui scaricare il file
$file=basename($_REQUEST['nomefile']);
$size=filesize($path.$file);
header("content-type: application/download\n");
header("Content-Length: $size");
header("content-disposition: attachment; filename=$file.pdf");
header("Cache-control: private");
$fn=fopen($path.$file,"r");
fpassthru($fn);
//EMAIL
$sito = "
www.sitooooooo.com
";
$mailDa = "
in...@sitooooooooo.com
";
$to = "
me...@meeee.com
\n";
$subject = "Richiesta file $file da $sito\n";
$body = "Un visitatore del sito <b>$sito</b> ha fatto il download del
file <b>$file</b>:<br>
$body .= "<tr><td>xxxxxxxxx</td><td></table>\n";
$headers =  "From:  $sito<$mailDa>\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";
if(@mail($to, $subject, $body, $headers)) {
echo "La mail è stata inoltrata con successo.";
} else {
echo "Si sono verificati dei problemi nell'invio della
mail.<br>Contattare l'amministratore del sito";
}
?>
Se elimino la parte del dowload mi arriva l'email mentre se la lascio
posso scaricare il file ma non mi arriva l'email e non ottengo nessuna
scritta (nè "La mail è stata inoltrata con successo" nè "Si sono
verificati dei problemi nell'invio della mail.<br>Contattare
l'amministratore del sito")
H E L P
-- 
Se mi conosci lo sai...
Se 'un mi conosci... sai una se## chi so'!!

 
non puoi stampare nulla dopo che mandi un header nel quale dici di voler 
far scaricare un file. Tutto quello che stampi sarà accodato al file che 
scarica l'utente
ciao
Alesi_27

scarica l'utente
come si risolve una cosa del genere?
Io ho bisogno che il tizio possa fare il dowload solo dopo aver
cliccato sul pulsante INVIA del form. Al click sul pulsante deve
***contemporaneamente*** (o in sequenza) scaricare il file e a me deve
arrivare la mail...
Che alternatva c'è al codice che avevo scritto io?


 
la mail non dovrebbea aver problemi a partire, ma non puoi scrivere 
alcun msg a video
ciao
Alesi_27

Hai provato a inserire il codice //EMAIL tra le riche del codice //DOWNLOAD
FILE?
<?php
//DOWNLOAD FILE
$path="./download/";     // directory da cui scaricare il file
$file=basename($_REQUEST['nomefile']);
$size=filesize($path.$file);
header("content-type: application/download\n");
header("Content-Length: $size");
header("content-disposition: attachment; filename=$file.pdf");
header("Cache-control: private");
$fn=fopen($path.$file,"r");
//EMAIL
$sito = "
www.sitooooooo.com
";
$mailDa = "
in...@sitooooooooo.com
";
$to = "
me...@meeee.com
\n";
$subject = "Richiesta file $file da $sito\n";
$body = "Un visitatore del sito <b>$sito</b> ha fatto il download del
file <b>$file</b>:<br>
$body .= "<tr><td>xxxxxxxxx</td><td></table>\n";
$headers =  "From:  $sito<$mailDa>\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";
if(@mail($to, $subject, $body, $headers)) {
echo "La mail è stata inoltrata con successo.";
} else {
echo "Si sono verificati dei problemi nell'invio della
mail.<br>Contattare l'amministratore del sito";
}
fpassthru($fn);
?>


Cosě come suggerisci tu manda l'email perň non scrive il risultato a
video (email inviata con successo o meno...)
Intanto per me č un passo avanti.... garzie1000


 Intanto per me č un passo avanti.... garzie1000
Prova cosě
<?php
//DOWNLOAD FILE
$path="./download/";     // directory da cui scaricare il file
$file=basename($_REQUEST['nomefile']);
$size=filesize($path.$file);
header("content-type: application/download\n");
header("Content-Length: $size");
header("content-disposition: attachment; filename=$file.pdf");
header("Cache-control: private");
$fn=fopen($path.$file,"r");
//EMAIL
$sito = "
www.sitooooooo.com
";
$mailDa = "
in...@sitooooooooo.com
";
$to = "
me...@meeee.com
\n";
$subject = "Richiesta file $file da $sito\n";
$body = "Un visitatore del sito <b>$sito</b> ha fatto il download del
file <b>$file</b>:<br>
$body .= "<tr><td>xxxxxxxxx</td><td></table>\n";
$headers =  "From:  $sito<$mailDa>\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";
if(@mail($to, $subject, $body, $headers)) {
echo "La mail č stata inoltrata con successo.";
fpassthru($fn);
} else {
echo "Si sono verificati dei problemi nell'invio della
mail.<br>Contattare l'amministratore del sito";
}
?>