Alix Axel Alix Axel - 2 months ago 28
PHP Question

fgets() and fread() - What is the difference?

I understand the differences between

and
fgetss()
but I don't get the difference between
fgets()
and
fread()
, can someone please clarify this subject? Which one is faster? Thanks!

Answer

fgets reads a line -- i.e. it will stop at a newline.

fread reads raw data -- it will stop after a specified (or default) number of bytes, independently of any newline that might or might not be present.


Speed is not a reason to use one over the other, as those two functions just don't do the same thing :

  • If you want to read a line, from a text file, then use fgets
  • If you want to read some data (not necessarily a line) from a file, then use fread.