Автор Тема: определение размера страницы по её url  (Прочитано 13769 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uzver

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 47
  • +0/-0
  • 0
    • Просмотр профиля
Второй день пытаюсь решить вопрос определения размера страницы по известному url. Все что удалось найти по этой теме это чтение страницы через fsockopen с последующим поиском в ответе строки вида Content-Length:… но как ни странно ни разу не получил эту строку в заголовках возвращаемых сервером.
Собственно вопрос, какие еще методы определения размера страницы? Пересчет полученного ответа по байтам или сохранение страницы в файл с последующим определением размера както то не очень хочется юзать.
В твоих руках все \"за\" и \"против\"
Тебе дарован меч судьбы.  Цену большую заплатив,  Ты жизнь не мыслишь без борьбы  За право \"быть\", а не \"казаться\",  И за собою жечь мосты.  Ты мир заставишь прогибаться,  Иначе ты - уже не ты!

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
определение размера страницы по её url
« Ответ #1 : 14 Февраля 2006, 22:35:45 »
мануал  -> file_size()
[off]Безработный[/off]

Оффлайн Uzver

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 47
  • +0/-0
  • 0
    • Просмотр профиля
определение размера страницы по её url
« Ответ #2 : 14 Февраля 2006, 22:45:15 »
Цитировать
for_i_0:
мануал -> file_size()

Повторюсь еще раз "Пересчет полученного ответа по байтам или сохранение страницы в файл с последующим определением размера както то не очень хочется юзать". Определяется размер веб-страницы, удаленной.
В твоих руках все \"за\" и \"против\"
Тебе дарован меч судьбы.  Цену большую заплатив,  Ты жизнь не мыслишь без борьбы  За право \"быть\", а не \"казаться\",  И за собою жечь мосты.  Ты мир заставишь прогибаться,  Иначе ты - уже не ты!

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
определение размера страницы по её url
« Ответ #3 : 14 Февраля 2006, 22:52:50 »
Uzver
Интересно, а как иначе ты это себе предстовляешь ?
[off]Безработный[/off]

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
определение размера страницы по её url
« Ответ #4 : 14 Февраля 2006, 22:55:06 »
[p]strlen[/p]

Оффлайн Uzver

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 47
  • +0/-0
  • 0
    • Просмотр профиля
определение размера страницы по её url
« Ответ #5 : 14 Февраля 2006, 23:09:58 »
Цитировать
for_i_0:
Интересно, а как иначе ты это себе предстовляешь ?

если верить мануалам и прмерам выложенным в нет то следюющий пример должен напечатать размер страницы:
$urlArray = parse_url("http://forums.webscript.ru/");
if (!isset($urlArray["port"])) $urlArray["port"] =  "80";
if (!isset($urlArray["path"])) $urlArray["path"] =  "/";
if ($urlArray["host"] != gethostbyname($urlArray["host"])) {
   $fp = fsockopen ($urlArray[host], $urlArray[port], $errno, $errstr, 10);
   if (isset($fp)) {
      socket_set_blocking($fp);
      fputs ($fp, "HEAD $urlArray[path] HTTP/1.1\\r\\nHost: $urlArray[host]\\r\\nConnection: Close\\r\\n\\r\\n");
      while ($str = fgets($fp, 1024)) {
         if (ereg("^Content-Length: ([0-9]+)",$str,$size)) {echo $size[1];}
      }
      fclose($fp);
       flush();
   }
}
В твоих руках все \"за\" и \"против\"
Тебе дарован меч судьбы.  Цену большую заплатив,  Ты жизнь не мыслишь без борьбы  За право \"быть\", а не \"казаться\",  И за собою жечь мосты.  Ты мир заставишь прогибаться,  Иначе ты - уже не ты!

Оффлайн Uzver

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 47
  • +0/-0
  • 0
    • Просмотр профиля
определение размера страницы по её url
« Ответ #6 : 14 Февраля 2006, 23:13:17 »
но вот срабатывает он лиш в единичьных случаях, сервер просто не возвращает в загаловках нужную информацию, но вот почему понять не могу, вродебы от настроек сервера это не должно зависить
В твоих руках все \"за\" и \"против\"
Тебе дарован меч судьбы.  Цену большую заплатив,  Ты жизнь не мыслишь без борьбы  За право \"быть\", а не \"казаться\",  И за собою жечь мосты.  Ты мир заставишь прогибаться,  Иначе ты - уже не ты!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
определение размера страницы по её url
« Ответ #7 : 14 Февраля 2006, 23:52:27 »
феерический топик

Оффлайн Uzver

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 47
  • +0/-0
  • 0
    • Просмотр профиля
определение размера страницы по её url
« Ответ #8 : 15 Февраля 2006, 00:12:02 »
Цитировать
RomikChef:
феерический топик

ну не знаю, мне совсем не радостно :-(
В твоих руках все \"за\" и \"против\"
Тебе дарован меч судьбы.  Цену большую заплатив,  Ты жизнь не мыслишь без борьбы  За право \"быть\", а не \"казаться\",  И за собою жечь мосты.  Ты мир заставишь прогибаться,  Иначе ты - уже не ты!

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
определение размера страницы по её url
« Ответ #9 : 15 Февраля 2006, 00:14:02 »
а меня прёт.
что с твоих умозаключений, что - особенно - с ответов =)

в этом топике вообще никто не понимает, как работает то, о чём говорят.

Оффлайн Uzver

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 47
  • +0/-0
  • 0
    • Просмотр профиля
определение размера страницы по её url
« Ответ #10 : 15 Февраля 2006, 00:16:24 »
Цитировать
RomikChef:
что с твоих умозаключений, что - особенно - с ответов =)

о, я сумел комуто поднять настроение, это радует, вот ктоб еще мне его поднял, чуть чуть
В твоих руках все \"за\" и \"против\"
Тебе дарован меч судьбы.  Цену большую заплатив,  Ты жизнь не мыслишь без борьбы  За право \"быть\", а не \"казаться\",  И за собою жечь мосты.  Ты мир заставишь прогибаться,  Иначе ты - уже не ты!

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
определение размера страницы по её url
« Ответ #11 : 16 Февраля 2006, 22:36:41 »
Напрямую file_size(\'http://site.ru/\') не работает.
$fo=fopen("http://site.ru/","r")  - так вы можете открыть файл.
Но это не поможет. Надо считать файл в строку.
Для этого имплодим массив строчек.
$cont = implode (\'\', file (\'http://site.ru/\'));
$size=strlen($cont); // вот вам и размер файла в граммах.
Увы, не на всех серверах это работает....

Оффлайн Uzver

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 47
  • +0/-0
  • 0
    • Просмотр профиля
определение размера страницы по её url
« Ответ #12 : 16 Февраля 2006, 22:46:35 »
Цитировать
andymc:
$size=strlen($cont); // вот вам и размер файла в граммах.

читайте внимательно вопрос
Пересчет полученного ответа по байтам или сохранение страницы в файл с последующим определением размера както то не очень хочется юзать
В твоих руках все \"за\" и \"против\"
Тебе дарован меч судьбы.  Цену большую заплатив,  Ты жизнь не мыслишь без борьбы  За право \"быть\", а не \"казаться\",  И за собою жечь мосты.  Ты мир заставишь прогибаться,  Иначе ты - уже не ты!

Оффлайн ВитС

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
определение размера страницы по её url
« Ответ #13 : 19 Февраля 2006, 03:34:32 »
Uzver
Цитировать
читайте внимательно вопрос
Пересчет полученного ответа по байтам или сохранение страницы в файл с последующим определением размера както то не очень хочется юзать


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

Чтобы было понятно совсем:
Я некий вебмастер, который хочет знать какой именно размер имеет страница на некоем [стороннем] сайте. Если страница того сервера статична, то у вас всё ok.
Если нет - то в заголовке через сокс ничего получить нельзя. Поэтому ваш пример и не работает.

Конечно, можно поднастроить вебсервер иначе..., но не думаю, что вам пойдут навстречу... ;-)

Оффлайн avenger-f

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 2
  • +0/-0
  • 0
    • Просмотр профиля
    • http://avenger-f.livejournal.com
определение размера страницы по её url
« Ответ #14 : 20 Февраля 2006, 14:33:14 »
Единственный, на мой взгляд, надежный способ получить размер страницы на чужом сайте - открыть сокет, считать все целиком, отрезать заголовки. Другого надежного способа нет - сервер может и не выдавать ContentType.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28