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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: разбор RSS. Вопрос времени

Сообщения:  [1-10]   [11-14] 

 
 автор: 1999   (30.03.2007 в 10:54)   письмо автору
 
   для: Trianon   (30.03.2007 в 10:12)
 

спасибо

   
 
 автор: Trianon   (30.03.2007 в 10:12)   письмо автору
 
   для: 1999   (30.03.2007 в 02:01)
 

>по сути мне нужны всего 10 последних событий. Т.е. 10 description'ов итд. Боюсь что придется к ним обращаться после всего этого так:
>

>$desc1 = $out['ref']['sub']['RSS'][0]['SUB']['ITEM'][$i]
>

Вы издеваетесь, наверное....

   $item = $out['ref']['sub']['RSS'][0]['sub']['CHANNEL'][0]['sub']['ITEM'];
   unset($out);
   $item = array_slice($item, max(0, count($item)-10));
   foreach($item as $k => $v)
   {
      $r = array();
      foreach($v['sub'] as $tag => $val) $r[$tag] = $val[0]['data'];
      $out[$k] = $r;
   }
   unset($item);
   echo '<pre>';
   print_r($out);


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

Ну точно издеваетесь. simplexml_load_string там не использовалась. Она осталась под комментарием со времени черновой отладки. xml_parse же реализован еще в PHP 3.0.6

>курлы тоже работают не всегда.

curl реализован с 4.0.6. И вообще curl - лишь транспорт, выкиньте его вообще, раз он Вам так не нравится. Тащите RSS-поток хоть силой мысли - спич не о том.
file_get_contents реализован с 4.3 и Вы вполне можете столкнуться с тем, что такой функции нет, а curl - есть.

>
>И кстати Вы не ответили на вопрос - что будет быстрей работать - курлы или file_get_contents?

Полагаю, что одинаково. Вы можете проверить сами.

   
 
 автор: 1999   (30.03.2007 в 02:01)   письмо автору
 
   для: Trianon   (30.03.2007 в 01:26)
 

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

> Тогда что за страх?
по сути мне нужны всего 10 последних событий. Т.е. 10 description'ов итд. Боюсь что придется к ним обращаться после всего этого так:

$desc1 = $out['ref']['sub']['RSS'][0]['SUB']['ITEM'][$i]


> Никакую пятую версию мой скрипт не использует. Все средства, которыми я пользуюсь, есть в четвертой, я это специально подчеркнул.
simplexml_load_string работает только с 5 версией пхп. Курлы тоже работают не всегда.

И кстати Вы не ответили на вопрос - что будет быстрей работать - курлы или file_get_contents?

   
 
 автор: Trianon   (30.03.2007 в 01:26)   письмо автору
 
   для: 1999   (29.03.2007 в 14:44)
 

>и еще момент
>
>> До блеска не вылизано
>а что там не так?
>
>P.S. получившаяся структура не радует... хоть по времени безусловно потрясно, но сами элементы нужные мне находятся на 6-7 уровне вложенности массива... как бы этого избежать?

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

   
 
 автор: Trianon   (30.03.2007 в 01:21)   письмо автору
 
   для: 1999   (29.03.2007 в 14:43)
 

curl я применяю по двум причинам.
1. Эстетическая. Я всё же считаю file_get_contents функцией файловой, а не коммуникационной. И если url-wrapper к ней у какого либо хостера будет отключен - меня это совершенно не удивит. curl же заточен именно под то, что я от него требую. Взять удаленный документ.

2. Утилитарная. На работе у меня прямого интернета нет. Только прокси. Так что никакой file_get_content в принципе невозможен. Получение документа сокетами возможно, но код отличается от прямого изрядно. А Curl переключить на прокси - одну строку раскомментарить. Так что сам бог велел.

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

   
 
 автор: 1999   (29.03.2007 в 23:31)   письмо автору
 
   для: 1999   (29.03.2007 в 14:44)
 

.

   
 
 автор: 1999   (29.03.2007 в 14:44)   письмо автору
 
   для: Trianon   (29.03.2007 в 11:41)
 

и еще момент

> До блеска не вылизано
а что там не так?

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

   
 
 автор: 1999   (29.03.2007 в 14:43)   письмо автору
 
   для: Trianon   (29.03.2007 в 11:41)
 

аа ступил я(( спасибо что раъяснили
а по скорости если пользоваться curl'овские доставания файла у file_get_contents выигрывают или нет? чем лучше пользоваться?

зы. в любом случае ваш скрипт использует 5 версию пхп, что пока не радует... (бывают еще динозавры.. боюсь что этот хостер такой)

   
 
 автор: Trianon   (29.03.2007 в 11:41)   письмо автору
 
   для: 1999   (29.03.2007 в 10:48)
 

При чем тут CURL ?
CURL - лишь средство достать файл. Замените вызов get_url на file_get_contents() - там даже строка в комментариях осталась. Процедура разбора от этого никак не зависит.

Давайте всё ж не будем смешивать вопросы "Как скачать файл из инета" и "Как разобрать xml-файл на элементы".

   
 
 автор: 1999   (29.03.2007 в 10:48)   письмо автору
 
   для: Trianon   (29.03.2007 в 10:28)
 

там используется CURL, которого к сожалению нет на хостинге, где будет стоять сайт...
дома CURL тоже не стоял (выводил что undefined function curl_init), потом включил CURL на уровне пхп.ини и эта страница просто-напросто не загрузилась (maximum time limit exceeded)

ЗЫ. Там просто пример на тему аминокислот, я не стал пока менять названия переменных

   

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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