$nombre_valeur_a_retourner = 5;
$tab = range(1,49);
shuffle($tab);
$tab = array_slice($tab,0,$nombre_valeur_a_retourner);
echo '<pre>';
print_r($tab);
echo '</pre>';
EDIT
Ah oui pendant qu'on y est, pour formater ta liste de nombre avec un point séparateur, étant donné qu'avec cette solution tu as maintenant un tableau avec uniquement les valeurs nécessaires, tu peux faire à la suite du code ci-dessus un "implode" sur le tableau
$nombre_valeur_a_retourner = 5;
$tab = range(1,49);
shuffle($tab);
$tab = array_slice($tab,0,$nombre_valeur_a_retourner);
$liste = implode('.',$tab);
echo $liste;
Allez ça fait une fonction de tableau en plus utilisée