PHP sizeof
Модератор: Модераторы
- Marug
- UGUGUROV
- Сообщения: 1142
- Зарегистрирован: 21 окт 2003, 19:14
- Откуда: Горно-Алтайск
- Контактная информация:
Re: PHP sizeof
2mase: я понимаю, безлимит, высокая скорость...
но гисметео 2 раза в сутки обновляется, всетаки не лучше один раз стянуть и полсуток показывать для локальных пользователей?
но гисметео 2 раза в сутки обновляется, всетаки не лучше один раз стянуть и полсуток показывать для локальных пользователей?
Эй jобрен-ап! А-нивистишылсы? (108Кб)
- Count_Raven
- Местный Бог
- Сообщения: 2535
- Зарегистрирован: 14 окт 2004, 18:48
- Контактная информация:
Re: PHP sizeof
Да кстати, нормальные люди так и делают - либо обновление по cron'у и запись в MySQL базу данных. Либо просто внутрь скрипта поставить, что обновление делается только после стольки-то и стольки-то 2 раза и записывается в базу. Но опять же, зачем парсить страницу? А если они дизайн поменяют и там иначе все станет? Специально же сделано - отдача погоды в XML. И быстрее и удобнее и надежнее.Marug писал(а):Серега, я понимаю, безлимит, высокая скорость...
но гисметео 2 раза в сутки обновляется, всетаки не лучше один раз стянуть и полсуток показывать для локальных пользователей?
- Marug
- UGUGUROV
- Сообщения: 1142
- Зарегистрирован: 21 окт 2003, 19:14
- Откуда: Горно-Алтайск
- Контактная информация:
Re: PHP sizeof
2count_raven: Fatal error: Cannot instantiate non-existent class: simplexmlelement in /home/minfina6/public_html/g.php on line 19 :)
Эй jобрен-ап! А-нивистишылсы? (108Кб)
- Count_Raven
- Местный Бог
- Сообщения: 2535
- Зарегистрирован: 14 окт 2004, 18:48
- Контактная информация:
Re: PHP sizeof
В php 4 нет SimpleXML.Marug писал(а):2count_raven: Fatal error: Cannot instantiate non-existent class: simplexmlelement in /home/minfina6/public_html/g.php on line 19 :)
- Count_Raven
- Местный Бог
- Сообщения: 2535
- Зарегистрирован: 14 окт 2004, 18:48
- Контактная информация:
Re: PHP sizeof
Но кто мешает воспользоваться другим XML-парсером?
- Marug
- UGUGUROV
- Сообщения: 1142
- Зарегистрирован: 21 окт 2003, 19:14
- Откуда: Горно-Алтайск
- Контактная информация:
Re: PHP sizeof
никто не мешает, просто копипаст сделал, уточнений что на 4-ой версии работать не будет не было :)
к слову раньше не было у них отдачи по XML, узнал только из твоего поста :) спасибо за ссылку на xml версию!
кстати там написано
к слову раньше не было у них отдачи по XML, узнал только из твоего поста :) спасибо за ссылку на xml версию!
кстати там написано
Обновляющийся 4 раза в сутки (2.30, 8.30, 14.30, 20.30 МСК по зимнему времени) блок xml-данных с прогнозом погоды на сутки вперед для выбранного Вами города...

Эй jобрен-ап! А-нивистишылсы? (108Кб)
Re: PHP sizeof
2 Marug конечно буду один раз в начале дня страничку скачивать, просто интересно было по другому...
2 Raven спасибо за скрипт, попробую поюзать...
а как заставить это работать через прокси сервер?
2 Raven спасибо за скрипт, попробую поюзать...
а как заставить это работать через прокси сервер?
- Count_Raven
- Местный Бог
- Сообщения: 2535
- Зарегистрирован: 14 окт 2004, 18:48
- Контактная информация:
Re: PHP sizeof
Если PHP нужно коннектиться через прокси, то нужно использовать параметры контекста при установке соединения, подробнее тут:
http://ca3.php.net/manual/en/http.request.options.php
http://fi2.php.net/manual/en/context.http.php
Пример через сокет:
Если есть возможность установить библиотеки cURL то вообще хорошо.
http://ru2.php.net/curl/
Тут люди с cURL делают, посмотри:
http://www.webmasterworld.com/forum88/5269.htm
http://ca3.php.net/manual/en/http.request.options.php
http://fi2.php.net/manual/en/context.http.php
Пример через сокет:
Код: Выделить всё
$timeout = 10;
$host = "proxy-server-host";
$port = 8080;
$fp = fsockopen($host, $port, $errno, $errstr, $timeout);
if ($fp === false) die ("Nu blya!");
fputs($fp, "GET test-url HTTP/1.0\nHost: ".$host."\n");
if (fgets($fp, 1024)=="HTTP/1.1 200 OK\r\n" )
{ $error++; } else { echo fgets($fp, 1024); }
fclose($fp);
Если есть возможность установить библиотеки cURL то вообще хорошо.
http://ru2.php.net/curl/
Тут люди с cURL делают, посмотри:
http://www.webmasterworld.com/forum88/5269.htm
Re: PHP sizeof
все бы ништяк токо мне погоду на 5 дней надо...
да еще это, авторизация на проксике стоит...
да еще это, авторизация на проксике стоит...
- Count_Raven
- Местный Бог
- Сообщения: 2535
- Зарегистрирован: 14 окт 2004, 18:48
- Контактная информация:
Re: PHP sizeof
Если погоду на 5 дней, то вариант с XML от GISMETEO отпадает.Gromozeka писал(а):все бы ништяк токо мне погоду на 5 дней надо...
да еще это, авторизация на проксике стоит...
Есть вариант забирать в XML с rp5.ru - я оттуда беру, там на 2 дня.
Есть вариант с XML от гидрометцентра, там регаться надо, я не пробовал, не знаю на сколько там дней и какие данные он дает.
Мне rp5.ru хватает.
С авторизацией все нормально - читай документацию, есть авторизация.
Re: PHP sizeof
да, уже изучаю...Count_Raven писал(а):С авторизацией все нормально - читай документацию, есть авторизация.
Re: PHP sizeof
есть такая строчка: "ФАКТ 26.053:00", где дата и время меняются, как сделать, чтобы было: "ФАКТ 26.05 3:00"?
- Count_Raven
- Местный Бог
- Сообщения: 2535
- Зарегистрирован: 14 окт 2004, 18:48
- Контактная информация:
Re: PHP sizeof
самый простой способ - substrGromozeka писал(а):есть такая строчка: "ФАКТ 26.053:00", где дата и время меняются, как сделать, чтобы было: "ФАКТ 26.05 3:00"?
Re: PHP sizeof
наверное я не правильно вопрос задал, думаю в моем случае лучше вот это подойдет: ereg и ereg_replace ... но все равно, спасибо
- Count_Raven
- Местный Бог
- Сообщения: 2535
- Зарегистрирован: 14 окт 2004, 18:48
- Контактная информация:
Re: PHP sizeof
Неа, я все правильно сказал. Самый простой способ - substr. Просто подстроки две взять и все.Gromozeka писал(а):наверное я не правильно вопрос задал, думаю в моем случае лучше вот это подойдет: ereg и ereg_replace ... но все равно, спасибо
Почему это проще:
1. Некоторые боятся регулярных выражений.
2. substr работает в несколько раз быстрее ereg'ов. Если формат несложный (как у тебя) а строк много, то регулярные выражения могут жутко подвесить систему, а substr вообще никаких тормозов не дает. Тормоза регулярных выражений заметны даже при обычном парсинге страницы текста где предположим нужно всего лишь заменить какое-то слово на другое и оно встречается там например раз 30. Производительность хреновая у PHP в этом плане.
У меня идет список сообщений, максимально 800 сообщений на страницу. В каждом сообщении есть 2 места, где строки форматируются. При использовании регулярных выражений - все, можно попрощаться со страницей.
А вообще, в PHP есть множество разных функций для форматирования даты и времени и строк. Только в твоей ситуации что-то ничего не подходит.
Я думаю проще всего так:
Код: Выделить всё
$str = "ФАКТ 26.053:00";
$str = substr($str, 0, 10)." ".substr($str, 10, 4);