yo lo haria asi:
Código PHP:
if(strtolower(substr($nombre_archivo,-3,3))=="rar" || strtolower(substr($nombre_archivo,-3,3))=="zip") && ($tamano_archivo < 10000000)
{
// sube el archivo
}
else
{
// error
}
strtolower es para que te coja la extension en minusculas ya que de lo contrario no podrias subir archivos con extension en mayusculas, tambien podrias hacerlo con strtoupper pero tendrias que poner RAR y ZIP en la condicion.
Espero que te sirva ;)