Las dos alternativas son válidas .. (hacen su trabajo ..) .. ahora si profundizamos un pco más (algunos diran 'pa ké' ...

) ...
Según dicen (me remito a php.net "user comments) .. readfile() tiene algunos problemas con el buffer si se usa compresion tipo gzip y cosas así ... Pero es cierto .. q en una linea haces lo q el otro método en 4 ...
Tambien desde PHP 4.3.0 está disponible:
file_get_contents() q vuelca el contenido del fichero en un string (cadena) ... (es equivalente a casi lo q puse yo mas arriba .. fopen etc ...)
Un saludo,