Con la función mail() nativa de PHP .. es un trabaja bastante "tedioso" adjuntar un archivo .. archivo que tienes que leer de su fuenete de origen .. sea del sistema de archivo (fopen .. etc) o desde donde esté ...
El 2º proceso sería componer todas las cabeceras HTTP para preparar el e-mail como fomato "multiparte" y de ahí mas cabeceras para la parte del archivo (MIME) que se ha de coficar en formato Base64() si no me equivo .. etc .. etc ...
Es bueno tener "cultura general" y saber como va el sistema .. pero en la práctica te viene mejor usar alguna classe para tal fin como:
PHP Mailer
http://phpmailer.sourceforge.net
Que puede sustituir completamente a mail() .. Tiene muchas funcionalidades .. entre las que se encuentra adjuntar archivos, generar e-mails en formato HTML y texto plano a la vez .. y sobre todo usar servidores SMTP directos (e incluso "balancear" la carga usando vários a la vez ..)
Un saludo,