Ответ 1
fread имеет ограничение на количество символов, которое вы можете прочитать, и лучше для анализа данных.
file_get_contents не имеет ограничений на ввод (что я знаю). Это используется для внешнего доступа к API и т.д.
В чем разница между
$contents = file_get_contents("folder/somefile.txt")
и
$handle = fopen("folder/somefile.txt", "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
с точки зрения производительности, обработки указателей файлов и управления памятью?
И верно ли, что file_get_contents использует mmap
, если ОС разрешает это?
fread имеет ограничение на количество символов, которое вы можете прочитать, и лучше для анализа данных.
file_get_contents не имеет ограничений на ввод (что я знаю). Это используется для внешнего доступа к API и т.д.
fread()
считывает двоичные данные, file_get_contents()
возвращает данные в виде строки.
Любопытные результаты! Функция file_get_contents() должна быть оберткой для fopen, но развязка fopen и fread, по-видимому, делает работу медленнее. http://www.ebrueggeman.com/blog/php_benchmarking_fopen