Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Где-то ошибка... при передаче заголовка. помогите найти! 
:(
    Опции темы
Coder
Дата 17.8.2005, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Передаю файл пользователю таким кодом:
Код

  $f_name="setup.zip";
  header("Content-type: application/zip");
  header("Content-Disposition: attachment; filename=$f_name");
  readfile($f_name);


Вроде, как работает, но иногда вываливается такая ошибка и все содержимое файла открывается на страницу:
Код

Warning: Cannot modify header information - headers already sent by (output started at 
y:\home\test.ru\www\setup\download.php:9) in y:\home\test.ru\www\setup\download.php on line 64


Причем это случается 50 на 50. В чем причина?




PM MAIL   Вверх
-=Ustas=-
Дата 17.8.2005, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



А может просто -
Код

header("location: $f_name");



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
z-END
Дата 17.8.2005, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



Coder если хочешь получить ответ приводи полный код...
вообще это значит что в девятой сторке файла download.php был сделан вывод информации, и после этого заголовки посылать бессмысленно.


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
-=Ustas=-
Дата 17.8.2005, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Действительно...


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
PARROT
Дата 17.8.2005, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



А чтобы header не ругался, пользуемся буферизацией.
И поиском...


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Master
Дата 17.8.2005, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



http://www.php.net/ob_start

прописываеш перед выводом информации (в начале скрипта)
это позволяет кешировать весь вывод и передавать его по завершению сценария, что позволяет отправлять HTTP заголовки в любом месте


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Mal Hack
Дата 17.8.2005, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



буферизация буферизацией. Надо скрипт проектировать грамотно, чтобы не полагаться на буферизацию, а полагаться на себя.
PM ICQ   Вверх
Coder
Дата 18.8.2005, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



Цитата(z @ 17.8.2005, 08:35)
Coder если хочешь получить ответ приводи полный код...

вот код:
Код

<HTML>
<HEAD>
 <TITLE>...</TITLE>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
 <link rel="stylesheet" href="../def.css" type="text/css">
</HEAD>
<BODY>
<font class="global">
<?php // !!!!!!! 9-я строка
  $f_name="setup.zip";    
  header("Content-type: application/zip");    
  header("Content-Disposition: attachment; filename=$f_name");    
  readfile($f_name);
?>

значит html заголовок тоже выводить нельзя?

PM MAIL   Вверх
z-END
Дата 18.8.2005, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



smile smile smile smile smile
Coder ты бы хоть хэлп почитал про headers
конечно, так нельзя делать... перенеси код пхп в самое начало кода.
Добавлено @ 09:51
тфу незнаметил... ты файл передаешь... тогда вообще нафик сноси все оставляй тока пхп-код...


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Coder
Дата 18.8.2005, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: нет
Всего: 11



z-END, спасибо!
PM MAIL   Вверх
z-END
Дата 18.8.2005, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 5
Всего: 102



да пожалуйстаsmile


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Master
Дата 19.8.2005, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



Mal Hack ну буферизация и придумана специально для того, чтобы на неё полагаться smile если ты например используеш шаблоны или как ты говориш "правильно проектировать скрипт" - то это по сути изобретение велосипеда, так как ты не используя буферизацию фактически либо создаеш её искуственно либо мучаеш себя расчетами до вывода что собственно и есть одно и тоже


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Mal Hack
Дата 19.8.2005, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Master согласен с тобой, но согласись, лучше все-таки делать обработку данных до вывода, чем надеяться на буферизацию.
Все-таки мне кажется, что буферизация не для того делалась, чтобы от "headers already sends by..." избавиться.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.