Salve a tutti,
so che l'argomento è stato trattato bene nel forum ma ho un problema con l'invio di una mail con un allegato preso a volo dal computer. Quello che faccio in ordine è questo:
modulo per prendere tutti i parametri,
upload del file (e funziona perchè ritrovo il file nella cartella)
invio della mail.

Purtroppo l'allegato mi arriva sempre vuoto (0 byte). Non riesco a capire perchè. Posto il codice sia del modulo che del file sendmail.php

Codice PHP:
<form action="sendmail.php" enctype="multipart/form-data" method="POST">
<
table cellpadding="0" cellspacing="0">
  <
tr>
    <
td>Destinatario: </td>
    <
td><input type="text" name="Destinatario" size="40"></td>
  </
tr>
  <
tr>
    <
td>Soggetto:</td>
    <
td><input type="text" name="Soggetto" size="40"></td>
  </
tr>
  <
tr>
    <
td>Allegato:</td><td><input type="file" name="allegato" size="40"></td>
  </
tr>
  <
tr>
    <
td valign="top">Contenuto:</td>
    <
td><textarea name="Contenuto" rows="15" cols="50"></textarea></td>
  </
tr>
  <
tr>
    <
td height="30" valign="bottom" colspan="2" align="center"><input type="submit" value="Invia la mail">
  </
tr>
</
table>
</
form
sendmail.php

Codice PHP:
// RENDIAMO LO SCRIPT COMPATIBILE CON LE VERSIONI DI PHP < 4.1.0
if(!isset($_POST)) $_POST $HTTP_POST_VARS;
if(!isset(
$_FILES)) $_FILES $HTTP_POST_FILES;

// RIPULIAMO I VARI CAMPI DEL MODULO
$Destinatario trim($_POST["Destinatario"]);
$Soggetto trim(stripslashes($_POST["Soggetto"]));
$Contenuto trim(stripslashes($_POST["Contenuto"]));

// ASSEGNIAMO A VARIABILI PIU' LEGGIBILI LE PROPRIETA' DELL'ALLEGATO
$attach $_FILES["allegato"]["tmp_name"];
$file_name $_FILES["allegato"]["name"];
$file_type $_FILES["allegato"]["type"];
$file_size $_FILES["allegato"]["size"];

// DELIMITATORE
$boundary md5(uniqid(microtime()));

// APRIAMO L'ALLEGATO PER LEGGERLO E CODIFICARLO
if($attach != none ){
$path="../mdb-database";
copy($attach"$path/$file_name");
$file = @fopen("$path/$file_name""r");
$contents = @fread($file$file_size);
$encoded_attach chunk_split(base64_encode($contents));
@
fclose($file);}

// INTESTAZIONI DELLA MAIL
$mail_headers .= "MIME-version: 1.0\n";
$mail_headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
$mail_headers .= "X-attachments: $file_name\n";

// COSTRUIAMO IL CORPO DELLA MAIL
$mail_body "--$boundary\n";
$mail_body .= "Content-Type: text/plain; charset=us-ascii\n";
$mail_body .= "Content-Transfer-Encoding: 7bit\n\n";
$mail_body .= "$Contenuto\n\n";
$mail_body .= "--$boundary\n";
$mail_body .= "Content-type: $file_type; name=\"$file_name\"\n";
$mail_body .= "Content-Transfer-Encoding: base64\n";
$mail_body .= "$encoded_attach\n";
$mail_body .= "--$boundary--\n";

// INVIO DELLA MAIL
if(@mail($Destinatario$Soggetto$mail_body$mail_headers)) { // SE L'INVIO È ANDATO A BUON FINE...

echo "La mail è stata inoltrata con successo.";

} else {
// ALTRIMENTI...

echo "Si sono verificati dei problemi nell'invio della mail.";

}

?> 
Non ricevo nessun errore, la mail mi arriva correttamente con l'allegato ma questo è vuoto. Dove sbaglio?

Ciao e grazie!
Luigi