fwrite returns 0 when 0 bytes written, so use === FALSE test instead.