Cordial saludo,
 
Hice esto:
 Código PHP:
    # Proceso del archivo adjunto:
    if(!empty($_FILES['archivo']) AND !empty($_FILES['archivo']['name'])){
    $file=$_FILES['archivo']['tmp_name'];
    if(is_uploaded_file($file))move_uploaded_file($file,$_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/'.$_FILES['archivo']['name']);
 
    function EncodeString ($str, $encoding = "base64") {
        $encoded = "";
        switch(strtolower($encoding)) {
          case "base64":
              // chunk_split is found in PHP >= 3.0.6
              $encoded = chunk_split(base64_encode($str), 76);
              break;
          case "7bit":
          case "8bit":
              $encoded = $this->FixEOL($str);
              if (substr($encoded, -(strlen($this->LE))) != $this->LE)
                $encoded .= $this->LE;
              break;
          case "binary":
              $encoded = $str;
              break;
          case "quoted-printable":
              $encoded = $this->EncodeQP($str);
              break;
          default:
              $this->SetError($this->Lang("encoding") . $encoding);
              break;
        }
        return $encoded;
    }
 
    function EncodeFile ($path, $encoding = "base64") {
        if(!@$fd = fopen($path, "rb")){echo 'Error'; exit;}
        $file_buffer = fread($fd, filesize($path));
        $file_buffer = EncodeString($file_buffer, $encoding);
        fclose($fd);
        return $file_buffer;
    }
    $qqq=EncodeFile($_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/'.$_FILES['archivo']['name']);
Echo $qqq; 
    
  Desde un form con campo file de nombre archivo envio la imagen. 
Las cabeceras del mail to2 las conocemos...  
 Código PHP:
        $encoding='base64';
    @mail(Mi Nombre <mico@yahoo.com>',$asunto,$mensaje,"Mime-Version: 1.0\nContent-type: $tipo\nFrom: $remite <$desde>\nReply-To: $remite <$desde>\nX-Mailer: PHP\nErrors-To: $remite <$desde>\nContent-Type: application/octet-stream; name=".$_FILES['archivo']['name']."\nContent-Transfer-Encoding: $encoding\nContent-Description: ".$_FILES['archivo']['name']."\nContent-Disposition: attachment; filename=".$_FILES['archivo']['name]."\n$qqq");} 
    
  Y me llega a yahoo todo buenito... Sale el clip de papeles inclusive, el correo pesa un monton de KB, (los KB del file), pero al abrir el mail esta en blanco: Ni mensaje ni file a pesar de que pesa xxx KB. 
Que hago?, es correcto enviar $qqq al final de mail() sin colocar una cabecera como datos=$qqq ?. 
No vamos a reinventar como generar un PDF si ya esta la clase o la funcion, etc, pero mi pregunta es es demasiado lo que falta para enviar el file?, o solo es cosa de XXX y ya queda bueno el script? 
Nota: (El file se ha subido exitosamente).
Salu2!.