protected function readHeader($stream, $n) { $header = ''; do { $buffer = @fread($stream, $n - strlen($header)); $header .= $buffer; } while (!empty($buffer) && strlen($header) < $n); if (strlen($header) < $n) { return false; } return $header; }