ob_clean не очищает выходные данные перед файлом заголовка?

Я столкнулся с проблемой. Я изменил файл db.php, и, к сожалению, я помещал пробелы до и после тегов php. Я использовал это в файле image.php. Я получаю заголовок ошибки уже отправлен. Я знаю, что это из-за пространства в db.php, но я использовал ob_clean в image.php.

Ниже приведен код.

spaceishere<?php $con=mysql_connect("localhost", "username", "password") or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db("dbname",$con) or die ("Cannot Connect to Database"); ?>andhere 

Файл image.php содержит код

 <?php require_once('db.php'); $sql="mysqlquery"; $query = mysql_query($sql); $row = mysql_fetch_assoc($query); ob_clean(); header("content-type:image/jpg") ; echo stripslashes($row[imagecolumn]); ?> 

все отлично работает, когда я удалял пробелы в db.php. Но я не могу понять, почему мой ob_clean не работает.

Не могли бы вы объяснить, что кто-нибудь объяснит это. И я не хочу изменять файл db.php. Потому что у меня проблема. Это не проблема.

Я хочу сделать все мои изменения в image.php, чтобы он работал.

Пожалуйста, помогите по этому поводу.

Сначала вы должны начать буферизацию вывода, поставив вызов ob_start(); перед вашим включением.

Я думаю, это потому, что вы не находитесь в «php» -mode, поэтому php не знает, что что-то находится в выходном буфере, потому что он знает только то, что php анализирует и что внутри php-тегов. Поэтому в вашем случае пробелы находятся за пределами php-тега, поэтому php не знает об этом и не может «очистить» его.