При обработки файла с текстом нельзя целиком его загружать в память компьютера. Другой файл с текстом наоборот нужно целиком загрузить в память, используя эффективные по времени структуры данных. вот такое задание.
Функции readfile, file, file_get_contents, загружают файл полностью в память. А с помощью fopen открывают поток для работы с файлом. Для чтения данных из такого потока используются fread, fgets и fgetc, для передвижения "курсора" (текущей позиции) по файлу fseek, rewind и ftell.