Неправильно срабатывает буфферизация вывода ob_

Статус
В этой теме нельзя размещать новые ответы.

esomkin

Новичок
Неправильно срабатывает буфферизация вывода ob_

Доброго времени суток
Решил попробовать сделать автоматическую загрузку файла *.xml через буфферизацию вывода php.
Выглядит это так:
PHP:
$xml_code='<? xml version="1.0"...';
 ob_start(); 
 echo $xml_code;
 header('Content-Length: '.ob_get_length());
 header('Content-type: text/plain');
 header('Content-disposition: attachment; filename="'.$file_name.'"');
 ob_end_flush();
...
<html>
<head> и т.д.

В IE7, Opera 9 работает без проблем, но после загрузки в Mozilla Firefox (в IE6 по моему тоже) в конец файла xml присоединяется кусок html, который мешает нормально открыть xml в Excel.

Подскажите где я неправ?
 

Wicked

Новичок
дак а что ты ожидал? это нормальное поведение, если ты из скрипта не выходишь -- он будет работать дальше и выводить что попадется.
 

esomkin

Новичок
У меня была такая же мысль, но в Денвере почему-то это не сработало, а на реальном сервере - без проблем.))) Всем спасибо!
 

kvf77

Red Devil
esomkin
потому что Денвер надо выкинуть на помойку- а то тебя в дальнейшем ждет масса приятных неожиданностей и скорей всего обратного толка - дома будет работать а на сервере нет.
 

Alexandre

PHPПенсионер
а то тебя в дальнейшем ждет масса приятных неожиданностей и скорей всего обратного толка - дома будет работать а на сервере нет
+1
установи VMТварь и под ней установи Линукс или Фрю.
 

kvf77

Red Devil
Alexandre
ну это перегиб - достаточно просто настроить апач руками под винду
 

kvf77

Red Devil
kruglov
Котеров сделал это просто ужасно :)
Поверь мне - если скрипт работает в Денвере, то почти 50% что он не будет работать на серваке - зачем надо было Котерову менять столько дефолтовых настроек на черте какие - не понятно. А еще там куча дебильных заглушек, которые много чего делают - а пользователь и не в курсе.

Посмотри форум - тут через раз проблемы, а в основании Денвер.
 

esomkin

Новичок
У меня стоит на одной машине Windows и Linux (в Windows стоит Denver, в Linux настроил Apache, PHP, MySQL и некоторые другие пакеты). Сложные скрипты я естественно тестирую на Linux перед перебросом на сервер, но до этого момента таких проблем почти небыло.
Кстати вопрос, а разве ob_end_flush() не должен закончить буфферизацию вывода в автоматически загружаемый файл и перестать выводить в него html?
 

Alexandre

PHPПенсионер
ну это перегиб - достаточно просто настроить апач руками под винду
[offtop]из детской песенки:
А котенка Гава ждет где-то много неприятностей,
ну а зачем же, они его - ждут?

что может возникнуть, если не предусмотрел
- слеш, при использовании инклудов в путях.
- пермишшены, если есть аплоадинг
- кроны
- не факт, что директории хостинга совпадут с локальными путями ( настройки Котерова)

часть проектов требуют чисто юниксовых фич (давайте это примем как факт)
я предпочитаю собирать и настраивать апач и пхп под себя именно в той конфигурации, которая оптимальна для проекта, а не поставляется в бинарниках. В винде, я этого делать не научился (может я еще не созрел для Винды и это со временем пройдет). По этому, если нет второго пня, то как выход - ВМТварь.

Вопрос - а зачем же тогда винда? Ну ИЕ под Линукс пока не придумали,
ну и потом - любимый редактор, хотя это уже дело привычки... можно обойтись...
любимый хелп в формате chm, хотя есть и заменитель в громоздком html.

но для тестов как-то классика - клиент Винда, сервер - Юникс.
 

maxru

МИФИст
kvf77, "Котеров сделал это просто ужасно", НО!
Если установить последнюю версию PHP, полноценную MySQL и человеческий Active Perl, то работать вполне можно ;)
 

asm

Пофигист
Котеров - молодец. Он сделал превосходный стартап для новичков.
 
asm
медвежья услуга. когда я заинтересовался php, из компьютера знал только турбо паскаль по школьному курсу, и ничего не помешало мне менее чем за пол дня поднять под виндовс апач пхп и mysql, хотя в тот день я их видел впервые. причем обошолся только документацией из комплекта.
как по мне денвер не для новичков, денвер для даунов.
 

partizan

Новичок
Аналогично: почитал доку, все установил сам (хотя я про существования Денвера не знал тогда, так бы наверно не парился)
 

kruglov

Новичок
А я с собой денвер на флешке ношу, куда воткнул, там и вебсервер сразу.
 

Sokil.Dmytro

Новичок
денвер для флешки. нет проблем с конфигами! и лаг особо не наблюдал. можно пару примеров глюков денвера?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху