PHP sizeof

Алгоритмы, вопросы по синаксису, описание програмного обеспечения, администрирование серверов и т.д. и т.п.

Модератор: Модераторы

Аватара пользователя
Marug
UGUGUROV
UGUGUROV
Сообщения: 1142
Зарегистрирован: 21 окт 2003, 19:14
Откуда: Горно-Алтайск
Контактная информация:

Re: PHP sizeof

Сообщение Marug »

2mase: я понимаю, безлимит, высокая скорость...
но гисметео 2 раза в сутки обновляется, всетаки не лучше один раз стянуть и полсуток показывать для локальных пользователей?
Аватара пользователя
Count_Raven
Местный Бог
Сообщения: 2535
Зарегистрирован: 14 окт 2004, 18:48
Контактная информация:

Re: PHP sizeof

Сообщение Count_Raven »

Marug писал(а):Серега, я понимаю, безлимит, высокая скорость...
но гисметео 2 раза в сутки обновляется, всетаки не лучше один раз стянуть и полсуток показывать для локальных пользователей?
Да кстати, нормальные люди так и делают - либо обновление по cron'у и запись в MySQL базу данных. Либо просто внутрь скрипта поставить, что обновление делается только после стольки-то и стольки-то 2 раза и записывается в базу. Но опять же, зачем парсить страницу? А если они дизайн поменяют и там иначе все станет? Специально же сделано - отдача погоды в XML. И быстрее и удобнее и надежнее.
Аватара пользователя
Marug
UGUGUROV
UGUGUROV
Сообщения: 1142
Зарегистрирован: 21 окт 2003, 19:14
Откуда: Горно-Алтайск
Контактная информация:

Re: PHP sizeof

Сообщение 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

Сообщение Count_Raven »

Marug писал(а):2count_raven: Fatal error: Cannot instantiate non-existent class: simplexmlelement in /home/minfina6/public_html/g.php on line 19 :)
В php 4 нет SimpleXML.
Аватара пользователя
Count_Raven
Местный Бог
Сообщения: 2535
Зарегистрирован: 14 окт 2004, 18:48
Контактная информация:

Re: PHP sizeof

Сообщение Count_Raven »

Но кто мешает воспользоваться другим XML-парсером?
Аватара пользователя
Marug
UGUGUROV
UGUGUROV
Сообщения: 1142
Зарегистрирован: 21 окт 2003, 19:14
Откуда: Горно-Алтайск
Контактная информация:

Re: PHP sizeof

Сообщение Marug »

никто не мешает, просто копипаст сделал, уточнений что на 4-ой версии работать не будет не было :)
к слову раньше не было у них отдачи по XML, узнал только из твоего поста :) спасибо за ссылку на xml версию!

кстати там написано
Обновляющийся 4 раза в сутки (2.30, 8.30, 14.30, 20.30 МСК по зимнему времени) блок xml-данных с прогнозом погоды на сутки вперед для выбранного Вами города...
:ay:
MaSe

Re: PHP sizeof

Сообщение MaSe »

2 Marug конечно буду один раз в начале дня страничку скачивать, просто интересно было по другому...
2 Raven спасибо за скрипт, попробую поюзать...

а как заставить это работать через прокси сервер?
Аватара пользователя
Count_Raven
Местный Бог
Сообщения: 2535
Зарегистрирован: 14 окт 2004, 18:48
Контактная информация:

Re: PHP sizeof

Сообщение Count_Raven »

Если PHP нужно коннектиться через прокси, то нужно использовать параметры контекста при установке соединения, подробнее тут:
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
MaSe

Re: PHP sizeof

Сообщение MaSe »

все бы ништяк токо мне погоду на 5 дней надо...

да еще это, авторизация на проксике стоит...
Аватара пользователя
Count_Raven
Местный Бог
Сообщения: 2535
Зарегистрирован: 14 окт 2004, 18:48
Контактная информация:

Re: PHP sizeof

Сообщение Count_Raven »

Gromozeka писал(а):все бы ништяк токо мне погоду на 5 дней надо...

да еще это, авторизация на проксике стоит...
Если погоду на 5 дней, то вариант с XML от GISMETEO отпадает.
Есть вариант забирать в XML с rp5.ru - я оттуда беру, там на 2 дня.
Есть вариант с XML от гидрометцентра, там регаться надо, я не пробовал, не знаю на сколько там дней и какие данные он дает.

Мне rp5.ru хватает.

С авторизацией все нормально - читай документацию, есть авторизация.
MaSe

Re: PHP sizeof

Сообщение MaSe »

Count_Raven писал(а):С авторизацией все нормально - читай документацию, есть авторизация.
да, уже изучаю...
MaSe

Re: PHP sizeof

Сообщение MaSe »

есть такая строчка: "ФАКТ 26.053:00", где дата и время меняются, как сделать, чтобы было: "ФАКТ 26.05 3:00"?
Аватара пользователя
Count_Raven
Местный Бог
Сообщения: 2535
Зарегистрирован: 14 окт 2004, 18:48
Контактная информация:

Re: PHP sizeof

Сообщение Count_Raven »

Gromozeka писал(а):есть такая строчка: "ФАКТ 26.053:00", где дата и время меняются, как сделать, чтобы было: "ФАКТ 26.05 3:00"?
самый простой способ - substr
MaSe

Re: PHP sizeof

Сообщение MaSe »

наверное я не правильно вопрос задал, думаю в моем случае лучше вот это подойдет: ereg и ereg_replace ... но все равно, спасибо
Аватара пользователя
Count_Raven
Местный Бог
Сообщения: 2535
Зарегистрирован: 14 окт 2004, 18:48
Контактная информация:

Re: PHP sizeof

Сообщение Count_Raven »

Gromozeka писал(а):наверное я не правильно вопрос задал, думаю в моем случае лучше вот это подойдет: ereg и ereg_replace ... но все равно, спасибо
Неа, я все правильно сказал. Самый простой способ - substr. Просто подстроки две взять и все.

Почему это проще:
1. Некоторые боятся регулярных выражений.
2. substr работает в несколько раз быстрее ereg'ов. Если формат несложный (как у тебя) а строк много, то регулярные выражения могут жутко подвесить систему, а substr вообще никаких тормозов не дает. Тормоза регулярных выражений заметны даже при обычном парсинге страницы текста где предположим нужно всего лишь заменить какое-то слово на другое и оно встречается там например раз 30. Производительность хреновая у PHP в этом плане.

У меня идет список сообщений, максимально 800 сообщений на страницу. В каждом сообщении есть 2 места, где строки форматируются. При использовании регулярных выражений - все, можно попрощаться со страницей.

А вообще, в PHP есть множество разных функций для форматирования даты и времени и строк. Только в твоей ситуации что-то ничего не подходит.

Я думаю проще всего так:

Код: Выделить всё

$str = "ФАКТ 26.053:00";
$str = substr($str, 0, 10)." ".substr($str, 10, 4);
Я регулярные выражения в интересах производительности и в правилах хорошего тона лучше использовать как можно меньше и только там, где это уж очень необходимо.
Ответить

Вернуться в «Программирование, администрирование и софт»