Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Буферизация?... Или непонятно, что это такое:)
 
 автор: kokos   (06.06.2012 в 23:07)   письмо автору
 
 

Здравствуйте!

Вобщем, я давно грежу мыслью о написании своей CMS. И что-то уже похожее вырисовывается, правда пока что очень сырое. Уже сломал себе голову в решении этой проблемы. Может кто-то сталкивался, помогите...

Порядок работы скрипта такой:
1. Из БД берутся шаблоны разметки страницы и сами страницы, рекурсивной функцией строится навигац. древовидное меню.
2 Все это "склеивается" одной функцией в общую большую кучу и сразу же выплевывается клиенту одной командой print.

Диковато, но работает в денвере и на lamp(ubuntu). Но на хостинге работает как-то очень странно: в конце и в начале текста выводятся шестнадцатеричные числа (например, 1fe3), причем не всегда, а только в тех случаях, когда в выводимом блоке есть символы "{", "}" или при превышении какого-то объема выводимых данных (вроде как 10кб). Хотя я уже совсем ничего не понимаю....

Причем эти числа выводятся как-то отдельно. Их не получается закомментировать или скрыть.

Подскажите, пожалуйста, что это за...? И как с этим бороться? Хостер утверждает, что с их стороны все отлично, якобе у меня руки не оттуда.

Пример явления можно посмотреть на http://clear.kokos.su/services.html В остальных разделах, этого не наблюдается.

  Ответить  
 
 автор: elenaki   (07.06.2012 в 10:36)   письмо автору
 
   для: kokos   (06.06.2012 в 23:07)
 

может, у вас UTF сохранен с BOM?

  Ответить  
 
 автор: kokos   (07.06.2012 в 20:39)   письмо автору
 
   для: elenaki   (07.06.2012 в 10:36)
 

Возможно. А разве он не для файлов? Понятие BOM распространяется и на записи в БД? И кстати, кодировка cp1251_general_ci. Так что врядли это bom...

  Ответить  
 
 автор: elenaki   (08.06.2012 в 09:56)   письмо автору
 
   для: kokos   (07.06.2012 в 20:39)
 

кодировка страницы может быть и другая, а сам файл сохранен как UFT-8 with BOM. такие непонятные символы обычно из-за него появляются.

  Ответить  
 
 автор: zavragnov   (08.06.2012 в 11:26)   письмо автору
 
   для: kokos   (06.06.2012 в 23:07)
 

Решение проблемы решается просчетом размера буферизированного контента, и посланием заголовка о его размере.

Это из-за chunked transfer coding (у Apahe 2.xx) иногда возвращает кракозябы юзеру

Во решение



<?php 
ob_start
();
echo 
"Вывод даннвых";
$ob_get_contents ob_get_contents();
ob_clean();
header("Content-Length: ".strlen($ob_get_contents));
echo 
$ob_get_contents;

?>

  Ответить  
 
 автор: kokos   (08.06.2012 в 23:24)   письмо автору
 
   для: zavragnov   (08.06.2012 в 11:26)
 

СПАСИБО БОЛЬШОЕ! Решение подошло.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования