Por cierto, en uno de los comentarios de los usuarios en fread()
http://www.php.net/manual/en/function.fread.php comenta que para que fread() sea binary-safe (lea correctamente los ficheros binarios) debe desactivarse el magic_quotes_runtime con set_magic_quotes_runtime(0) antes de hacer el fread(). Si no, no se leera correctamente el fichero.
Suerte.