Определение веса страницы с картинками и скорости до пользователя

BNS

Новичок
Определение веса страницы с картинками и скорости до пользователя

Я думаю, многие хотя бы раз хотели сделать себе на сайте ГРАМОТНЫЙ прелоадер (как в большинстве флеш мультов), т.е. который бы показывал, сколько загружено байт из скольки... Только вот на HTML странице это реализовать тяжело, особенно, если на ней есть какая-нибудь динамика.

Так вот задумал я сделать нечто подобное...

Отсюда вопрос: как определить вес ВСЕЙ страницы, т.е. с яваскриптами, CSS, картинками, флешками и всем остальным. Или, если перефразировать, как добраться до буфера вывода, где будет лежать вся страница?

И вопрос, вытекающий из первого: а если вызывалать flush() и в буфере только кусок после ее вызова? Или я путаю?

Ну и самое главно - как определить, сколько дошло до пользователя...

За буфером можно следить с помощью

ob_start();
ob_get_contents();

Теперь - хуже, как выдрать все ссылки?

Мануал тут http://php.spb.ru/php/regexp.html

то, что нужно нам - снизу

Вопрос вот в чем - почему процедурка, которую я написал, намеряла полметра, а реально пришло 110кб?

Поэтому вопрос: а нет ли способа просто получить вес буфера (не с хтмл, а со всем, включая картинки и т.д.)? Если такой буфер, конечно, есть...
 

SiMM

Новичок
> как определить, сколько дошло до пользователя...
Никак.

> то, что нужно нам - снизу
Не нам, а вам.

> Вопрос вот в чем - почему процедурка, которую я написал, намеряла полметра, а реально пришло 110кб?
Потому что она неправильная.
PHP FAQ: Ничего не работает! Что делать???

> нет ли способа просто получить вес буфера (не с хтмл, а со всем, включая картинки и т.д.)?
PHP FAQ: Самые основы. Как работает PHP.
 

chama

Новичок
Есть идея но это геммор и дает приблеженные цифры, если картинка недогрузилось до конца то ты об этом не узнаешь и т.д.
1)Кешуруешь страницу перед выводом,т.е. создаешь образ htm на сайте и проверяешь вес и выдаешь пользователю
2) Для Apache все твои запросы это отдельные потоки, т.е. если на твоей странице есть картика, то когда броузер будет скачивать ее с сайта Apachu будет неизвестно что эта картинка являестся частью загружаемой в это время htmlки, поэтому при запрсе к картинке, javascripts, таблице стилей псолылай в запросе хеш(идентификатор отправляемой сейчас страницы), щитай весь вес по хешу выдавай его в броузер.

p.s. Может че забыл или непридусмотрел. Удачи.
 

kvf77

Red Devil
chama

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

chama

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

python

Новичок
kvf77
а за одно предумать разумный ответ, зачем все это надо
человек задал конкретный вопрос, так что не стоит флудить со своими "гениальными" замечаниями

-~{}~ 14.09.05 13:59:

кстати, твоих "конструктивных предложений" всё еще ждут здесь http://phpclub.ru/talk/showthread.php?s=&postid=517789#post517789
 

kvf77

Red Devil
python
ты бы свое самолюбие рьяное оставил при себе - я уже не раз намекал - что ты как таковой мне безразличен. Я отвечаю так как считаю нужным. Ничего, у тя это пройдет, надеюсь
 

python

Новичок
kvf77
я уже не раз намекал
Я тебе говорю об этом прямо. Мне просто удивительно - из тебя тоннами валятся бессмысленные посты, а тебя не режут и не банят... Наверное ты кому-то "в молодости спас жизнь".

А у "мя" - всё пройдет, "не боись".
 

BNS

Новичок
SiMM
насчет высасивания из пальца - ты не прав... у меня некоторые страницы под 2 метра весят, так что приходится чем-то развлекать пользователя, пока все это грузится... и вообще, откуда столько негатива ;)

Моя идея такая: определяем вес паги, определяем скорость до юзера, вычисляем _примерно_ сколько времени это займет и рисуем прогрессбар яваскриптом, чтобы он это время "прогрессировал"...

Самое приемлемое решение - это кешировать пагу (ее хтмл), а из него выдирать всё, что в src, background и т.д.

Вот сейчас бьють над написанием функции, которая бы это реализовала...
 

kvf77

Red Devil
BNS

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

приемлевого решения тут нет - потому что ты занимаешься фигней
 

BNS

Новичок
kvf77
пока так и есть...

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

а можно ли, кстате, тупо пинговать комп юзера из скрипта? например через system() и обрабатывать результат...
 

kvf77

Red Devil
BNS

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

BNS

Новичок
я же не только для таких страниц хочу это сделать... у меня есть еще wysiwyg редактор с весом под 200кило =) он постепенно появляться не умеет ;)
 

kvf77

Red Devil
BNS

оки - седня опровергаю мифы:
если у тебя ПРАВИЛЬНО оформлено появление редактора, то он грузится ровно 1 раз и потом появляется из кэша мгновенно.

сознайся честно - те просто нефиг делать и ты предумал себе суперидею?
 

BNS

Новичок
ну не то чтобы :)

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

master_x

Pitavale XXI wieku
сознайся честно - те просто нефиг делать и ты предумал себе суперидею?
во-во.
если у тебя такая проблема (большой вес контента) то ты должен задумываться не о считалке веса всей этой лабуды, а о том, как эту лабуду сделать намного меньше и приемлемей.
 

BNS

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

тут два варианта - либо долго, но качественно; либо быстро, но некачественно...

-~{}~ 14.09.05 16:56:

можно, конечно, найти компромиссный вариант, но он и так найден, а веса дофига, т.к. много картинок
 

master_x

Pitavale XXI wieku
BNS
ты хотя бы превью используй

-~{}~ 14.09.05 16:57:

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

BNS

Новичок
> ты хотя бы превью используй

ты меня совсем за идиота держишь? естественно есть и превьюхи, но человек, которому я делал эту галерею, просил свалить на одну страницу полноразмерные версии (а там разрешения под 1280х1024), зачем - незнаю, но раз ему хочется...
 
Сверху