Главная страница
    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.031 c
14-1080761044
dilvish
2004-03-31 23:24
2004.05.02
Как написать веб-приложение для локальной сети???


7-1078560595
DuhcmanSoft
2004-03-06 11:09
2004.05.02
Системный трей


6-1078989406
AlexS76
2004-03-11 10:16
2004.05.02
Как проверить доступен-ли удаленный компьютер по имени


1-1081879743
VasRog
2004-04-13 22:09
2004.05.02
Стартовое число в Randomize


1-1082202234
Mishenka
2004-04-17 15:43
2004.05.02
Не выводится TPrintDialog.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский