Yo en PHP soy muy nuevo, el problema es que ya no se como hacerlo y ocupo una manota. Este es el codigo.
El Html. 
<form id="formElem" name="formElem" action="enviar.php" method="post" enctype="multipart/form-data"> 
name="form"> 
<fieldset class="step">
<legend>Datos Personales</legend> 
<p>
<label for="name">*Primer Nombre</label>
<input type="text" name="Nombre" id="Nombre" value="" /> 
</p>
<p>
<label for="SegundoNombre">Segundo Nombre:</label>
<input type="text" name="SegundoNombre" id="SegundoNombre" value="" />
</p>
<p>
<label for="PrimerApellido">* Primer Apellido: </label>
<input type="text" name="PrimerApellido" id="PrimerApellido" value="" />
</p>  
<p>
<label for="SegundoApellido">Segundo Apellido: </label>
<input type="text" name="SegundoApellido" id="SegundoApellido" value="" />
</p> 
<p>
<label for="NúmerodeIdentificación:">* Número de Identificación:</label>
<input type="text" name="NúmerodeIdentificación" id="NúmerodeIdentificación" value="" /> 
</p>
<p>
<label for="archivo">Subir Archivo* <br /> (Solamente PDF) <br /> </label>
<input name="archivo" type="file" id="archivo" /> <br>
</fieldset>
<fieldset class="step"> 
<legend>Enviar</legend>
<p class="submit"><input name="button2" type="submit" id="button2" value="Enviar" /></p></fieldset></form></div>
Y  EL PHP:  
<?php 
//define the receiver of the email 
$to = '
[email protected]'; 
//define the subject of the email 
$subject = 'Test email with attachment'; 
//create a boundary string. It must be unique 
//so we use the MD5 algorithm to generate a random hash 
$random_hash = md5(date('r', time())); 
//define the headers we want passed. Note that they are separated with \r\n 
$headers = "From: 
[email protected]\r\nReply-To: 
[email protected]"; 
//add boundary string and mime type specification 
$headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\""; 
//read the atachment file contents into a string,
//encode it with MIME base64,
//and split it into smaller chunks
$attachment = chunk_split(base64_encode(file_get_contents('attac hment.zip'))); 
//define the body of the message. 
ob_start(); //Turn on output buffering 
?> 
--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>"  
--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/plain; charset="iso-8859-1" 
Content-Transfer-Encoding: 7bit 
Hello World!!! 
This is simple text email message.  
--PHP-alt-<?php echo $random_hash; ?> 
Content-Type: text/html; charset="iso-8859-1" 
Content-Transfer-Encoding: 7bit 
<h2>Hello World!</h2> 
<p>This is something with <b>HTML</b> formatting.</p>  
--PHP-alt-<?php echo $random_hash; ?>--  
--PHP-mixed-<?php echo $random_hash; ?> 
Content-Type: application/zip; name="attachment.zip" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment  
<?php echo $attachment; ?> 
--PHP-mixed-<?php echo $random_hash; ?>--  
<?php 
//copy current buffer contents into $message variable and delete current output buffer 
$message = ob_get_clean(); 
$file = ob_get_clean();
$Nombre = ob_get_clean();
$SegundoNombre = ob_get_clean();
$PrimerApellido = ob_get_clean();
$SegundoApellido = ob_get_clean();
//send the email 
$mail_sent = @mail( $to, $subject, $message, $file, $Nombre, $SegundoNombre,
$PrimerApellido,
$SegundoApellido, $headers ); 
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" 
echo $mail_sent ? "Mail sent" : "Mail failed"; 
?>  
Pero al final de enviarlo me tira el siguiente error: 
Warning: file_get_contents(attachment.zip) [function.file-get-contents]: failed to open stream: No such file or directory in /var/www/web101/web/NuevaCarpeta/enviar.php on line 16
Mail failed