ciao a tutti,
sono alle prese con un test su mail da inviare con relativo (eventuale) allegato:
sinceramente ho provato diversi script trovati sull'web e nei libri (quasi tutti seguono lo stesso codice, ma non funzionano quando allego un file, mentre funzionano tranquillamente quando invio senza allegato! dove sbaglio?
ecco l'ultimo script usato:

Codice PHP:
<?php  
$a 
$_POST['a']; 
$da "xxxxx@......it"
$obj $_POST['obj']; 
$testo $_POST['testo']; 

$attachment $_FILES['attachment']['tmp_name'];   
$attachment_type $_FILES['attachment']['type'];   
$attachment_name $_FILES['attachment']['name'];   


$intestazioni "From: " $da;   
$messaggio "";  

if (
is_uploaded_file($attachment))   
  {   
$file fopen($attachment,'rb');   
$data fread($filefilesize($attachment));   

fclose($file);   
$data chunk_split(base64_encode($data));   
$rand md5(time());   
$boundary "==Multipart_Boundary_x{$rand}x";      
$intestazioni .= "\nMIME-Version: 1.0\n";   
$intestazioni .= "Content-Type: multipart/mixed;\n";   
$intestazioni .= " boundary=\"{$boundary}\"";      
$messaggio .= "This is a multi-part message in MIME format.\n\n";   
$messaggio .= "--{$boundary}\n";   
$messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";   
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";   
$messaggio .= $testo "\n\n";   
$messaggio .= "--{$boundary}\n";   
$messaggio .= "Content-Disposition: attachment;\n";   
$messaggio .= " filename=\"{$attachment_name}\"\n";   
$messaggio .= "Content-Transfer-Encoding: base64\n\n";   
$messaggio .= $data "\n\n";   
$messaggio .= "--{$boundary}--\n";   
 }   
  else
 { 
$messaggio $testo;  
}  
 
if (
mail($a$obj$messaggio$intestazioni))   
{   
echo 
"Messaggio inviato con successo.";   
}
else
{   
echo 
"Si &egrave; verificato un errore nell'invio.";   
}    
?>
che errore commetto?