devi semplicemente avere un campo input di tipo file <input type=file....> e leggere dentro $_FILES['nome_campo'] quello che ti serve...

in particolare in $_FILES['nome_campo']['tmp_name'] trovi il path del file sul server, una volta che è stato uploadato... a quel punto vedi tu che farne..

se vuoi allegarlo devi fare:

$file = fopen($nomefile, "r");
$contenuto = fread($file, filesize($nomefile));
$codifica = chunk_split(base64_encode($contenuto));
fclose($file);


poi devi aggiungere questo al corpo del messaggio:

"\n\n--Message-Boundary\n
Content-type: $file_type; name=\"$nomefile\"\n
Content-Transfer-Encoding: BASE64\n
Content-disposition: attachment; filename=\"$nomefile\"\n\n $encoded_attach1\n
--Message-Boundary--\n";