Добрый день.
Столкнулся с ситуацией в которой не знаю куда копать.
Есть модулек, который упростив можно представить так:
<?php
function module_img_menu() {
$items['images/%'] = array(
'type' => MENU_CALLBACK,
'page callback' => 'module_img_generate',
'page arguments' => array(1),
'access arguments' => array('access content'),
);
return $items;
}
function
module_img_generate($file=''){
echo "1234567890";
}
?>
Да, модулек правильный - без завершающего "?>".
Все очень просто.
1. Хук меню, который говорит DRUPAL что он начинает работать, если ссылка будет : http://www.site.ru/images/ARGUMENTS
2. При запросе такой ссылки будет вызываться функция обработки module_img_generate с параметром равным ARGUMENTS
3. В функции module_img_generate мы толкаем браузеру ЗАГОЛОВОК, что это будет например картинка в формате JPG и затем выдавливаем содержимое этой картинки.
Проблема: картинка ВДРУГ перестала показываться. Мозилла руается %SUBJ%. Правильно ругается, кстати, перед содержимом картинки идет один символ - ПРОБЕЛ. Соответственно это рушит весь формат JPG и браузер нас посылает.
Хорошо, убираю все, что связано с картинкой из функции module_img_generate и прошу просто ТУПО выдавить в браузер "1234567890".
Да, выдавливает, НО в начале идет СИМВОЛ ПРОБЕЛА.
Встает вопрос: кто пихает в браузер этот ПРОБЕЛ?
Файлы исходников сохранены в UTF8 без BOM.
Проверяно, перепроверяно...
Куда рыть, что смотреть?
Спасибо.
Комментарии
Пока тупо ищу пробел после "?>", если они вообще где-то есть....
Хрен знает откуда вылез этот пробел.
Поставил костыль: ob_start(); и перед выводом заголовка ob_end_clean();
До лучших времен.