Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

Помогите с PHP.... header();   Найти похожие ветки 

 
SergP ©   (2004-04-08 11:39) [0]

Пытаюсь сделать так чтобы при закачке был сразу известен размер передаваемых данных (т.е. чтобы в заголовке ответа http -сервера была строка Content-Length:...)

Делаю так:
Все что подлежит выводу добавляю к переменной $buffer, а затем:

...
header("Content-Length: ".strlen($buffer));
echo $buffer;
?>

Но несмотря на то что больше в скрипте нет нигде вывода, я часто получаю сообщение:

Warning: Cannot modify header information - headers already sent by (output started at ....

Что мне можно сделать чтобы заголовок не "уходил" так рано.
Или как по другому можно решить мою проблему?


 
Undert ©   (2004-04-08 12:41) [1]

Фак, у тя Echo до Header происходит на строке output started at ....


 
SergP ©   (2004-04-08 12:50) [2]

Ошибка выдается (output started at ) в 11.php в строке 26
Вот куски скриптов:
Основной скрипт:
------------------------------------------------------
...
$buffer="";
if ($userid<>0)
{
 if ($type=="10") {include("10.php");}  // тестовый
 if ($type=="11") {include("11.php");}  // юзеры
 if ($type=="12") {include("12.php");}  // категории
 if ($type=="13") {include("13.php");}  // форумы-тест
 if ($type=="14") {include("14.php");}  // топики
 if ($type=="15") {include("15.php");}  // посты
 if ($type=="20") {include("20.php");}  //
 if ($type=="21") {include("21.php");}  // юзеры-тестовый
 if ($type=="22") {include("22.php");}  //
 if ($type=="23") {include("23.php");}  //
 if ($type=="31") {include("31.php");}  // юзеры-аватары
}
else
{
$buffer="##NA";
}
header("Content-Length: ".strlen($buffer));
echo $buffer;
?>
------------------------------------------------------

А вот 11.php:

------------------------------------------------------
<?
//=============Выборка информации о юзерах=====11.php============

$users_data_query = "select userid,posts,lastvisit,username as us1,username as us2,showemail,email
                    from $t_users
                    where lastvisit>=$ltime and lastvisit<=$rtime
                    order by lastvisit";

$result_users=mysql(DBName,$users_data_query);

for ($j=0; $j<mysql_numrows($result_users); $j++)
{
 $curent_user=mysql_fetch_array($result_users);
 // Показывать емейл будем только если это разрешено владельцем
 $cusermail="";
 if ($curent_user[5]=1) $cusermail=$curent_user[6];
 $user_login_length=strlen($curent_user[3]);
 $user_name_length=strlen($curent_user[4]);
 $user_mail_length=strlen($curent_user[6]);
$buffer="$buffer$curent_user[0]/$curent_user[1]/$curent_user[2]/$user_login_length/";
$buffer="$buffer$user_name_length/$user_mail_length/";
$buffer="$buffer$curent_user[3]/$curent_user[4]/$curent_user[6]";
}
?>

------------------------------------------------------

Проблема в том что строка 26 в 11.php - это последняя строка и она находится после ?>
т.е. там скорее всего стоит #13#10
Это что? Считается выводом?


 
SergP ©   (2004-04-08 14:22) [3]

Все. Удалил эти пустые строчки и стало нормально работать..

>Undert ©   (08.04.04 12:41)
>Фак, у тя Echo до Header происходит на строке output started at ....

Спасибо что обратил мое внимание на эту цифру, а то я как-то и не замечал ее... :-)))



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.035 c
14-1081694979
Piter
2004-04-11 18:49
2004.05.02
Quake2 написана под .NET? :)


14-1081238156
Александр Иванов
2004-04-06 11:55
2004.05.02
Test cases


6-1076015637
DDS
2004-02-06 00:13
2004.05.02
О том как добавить свой пункт в меню IE?


3-1080890117
TATIANA
2004-04-02 11:15
2004.05.02
Изменения размера страницы - база IBExpert


6-1078366060
gogi
2004-03-04 05:07
2004.05.02
Как узнать имя файла аттачмента не загружая письмо ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский