Подтвердить что ты не робот

В чем разница между file_get_contents и fread

В чем разница между

$contents = file_get_contents("folder/somefile.txt")

и

$handle = fopen("folder/somefile.txt", "r");
$contents = fread($handle, filesize($filename));
fclose($handle);

с точки зрения производительности, обработки указателей файлов и управления памятью?

И верно ли, что file_get_contents использует mmap, если ОС разрешает это?

4b9b3361

Ответ 1

fread имеет ограничение на количество символов, которое вы можете прочитать, и лучше для анализа данных.

file_get_contents не имеет ограничений на ввод (что я знаю). Это используется для внешнего доступа к API и т.д.

Ответ 2

fread() считывает двоичные данные, file_get_contents() возвращает данные в виде строки.

Ответ 3

Любопытные результаты! Функция file_get_contents() должна быть оберткой для fopen, но развязка fopen и fread, по-видимому, делает работу медленнее. http://www.ebrueggeman.com/blog/php_benchmarking_fopen