Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Помогите со скриптом PHP+XML+MySQL

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Помогите со скриптом PHP+XML+MySQL
Имя
Сообщение << Старые топики   Новые топики >>
Помогите со скриптом PHP+XML+MySQL - 2006-12-15 14:23:35.140000   
Shrek

Сообщений: 3
Оценки: 0
Присоединился: 2006-12-15 14:17:30.390000
Помогите плиз. Имеется скрипт www.site1.com/test.php и файл http://kovcheg.apeha.ru/inform/lavka.xml.
Нужно, чтобы скрипт test.php каждые 15 минут смотрел файл XML с удаленного сервера и заносил новые данные в таблицу MySQL (или обновлял текущие данные).
Никогда не работал с XML, поэтому не могу реализовать =( Кто знает напишите плиз.
Post #: 1
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-15 14:30:59.216666   
Lex_Voodoo

Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
10 WMZ
Post #: 2
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-15 16:31:27.466666   
NightmareZz

Сообщений: 1087
Оценки: 0
Присоединился: 2006-10-15 11:16:16.833333
50 WMZ
Post #: 3
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-15 16:45:16.590000   
nighthunter

Сообщений: 44
Оценки: 0
Присоединился: 2006-12-12 12:55:31.026666
корыстные все….20WMZ )
Post #: 4
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-15 22:25:27.576666   
Builder

Сообщений: 20
Оценки: 0
Присоединился: 2006-05-08 15:33:03
какие все жадные, если бы я знал, то бесплатно бы помог
Post #: 5
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-15 22:29:45.123333   
NightmareZz

Сообщений: 1087
Оценки: 0
Присоединился: 2006-10-15 11:16:16.833333
quote:

какие все жадные, если бы я знал, то бесплатно бы помог

Если б я не знал, сказал бы точно так же :D
Post #: 6
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-16 02:09:47.793333   
SaBo

Сообщений: 1089
Оценки: 0
Присоединился: 2005-02-17 20:16:54
1) Что бы скрипт запускался каждые 15 мин, надо юзать cron.2) Что бы открыть файл с удалённого хоста есть куча ф-ий, но у меня по каким-то причинам почему-то не работает ни одна… Хотя у всех остальных с этого же форума всё работает…3) Теперь открой http://kovcheg.apeha.ru/inform/lavka.xml. (который у меня почему-то не открывается) и посмотри что конкретно тебе надо заносить в базу4) Купи пыва и напиши скрипт, который бы это всё записывал в базу5) У тебя работает?6) Лекс пока дешевле всех предлагает…
Post #: 7
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-16 11:39:56.640000   
nighthunter

Сообщений: 44
Оценки: 0
Присоединился: 2006-12-12 12:55:31.026666
quote:

2) Что бы открыть файл с удалённого хоста есть куча ф-ий, но у меня по каким-то причинам почему-то не работает ни одна… Хотя у всех остальных с этого же форума всё работает

самая простая функция - fopen()
&lt;?php $fd = fopen ("http://kovcheg.apeha.ru/inform/lavka.xml", "r"); $xml = ''; while (!feof ($fd)) { &nbsp; $xml .= fgets($fd, 4096); } fclose ($fd); echo $xml; ?&gt; дальше парсим xml и заносим все в таблицу
quote:

3)Теперь открой http://kovcheg.apeha.ru/inform/lavka.xml (который у меня почему-то не открывается)

не открывается потому как нужно точку в конце удалить )
Post #: 8
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-16 15:35:18.060000   
deniska

Сообщений: 25
Оценки: 0
Присоединился: 2006-12-08 21:02:11.436666
Парсим XML:
1. ищешь библиотеку domit
2. code:
require_once( 'includes/domit/xml_domit_lite_include.php' );
$xmlFile = "parse_file.xml";
$xmlDoc = new DOMIT_Lite_Document();
$xmlDoc->resolveErrors( true );
$xmlDoc->loadXML( $xmlFile, false, true );
$root = &$xmlDoc->documentElement;
$element = &$root->getElementsByPath('items', 1);
$items = MY_parse_XML_elements($element->childNodes, array('cnt', 'name', 'price'));
function MY_parse_XML_elements(&$elements, $arr_attrib) {
   $ret_array = array();
   foreach ($elements as $element) {
       $tmp = new StdClass();
       foreach ($arr_attrib as $attrib) {
           $tmp->$attrib = $element->getAttribute ($attrib);
       }
       $ret_array[] = $tmp;
   }
   return $ret_array;
}
$i = 0;
while ( $i < count ($items) ){
  //здесь вставляй в БД
  echo 'name: ' . $items[$i]->name . ', count: ' . $items[$i]->cnt . ', price:' . $items[$i]->price . '<br />';
  $i++;
}

вобщем принцип понятен. писал по памяти, сорри если есть ошибки.
Хотя если ты будешь парсить только эту XML (структура проста до безобразия), то проще написать парсер самому
Post #: 9
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-16 15:46:22.810000   
deniska

Сообщений: 25
Оценки: 0
Присоединился: 2006-12-08 21:02:11.436666
Вот тебе ещё примерЖ
$ff = '<item cnt="483" name="Щит деревянный" price="8.25"/>';
preg_match ('/cnt\=\"(.*)\".*name\=\"(.*)\".*price\=\"(.*)\"/', $ff, $matches);
print_r($matches);
Результат:
Array ( [0] => cnt="483" name="Щит деревянный" price="8.25" [1] => 483 [2] => Щит деревянный [3] => 8.25 )
Post #: 10
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-16 17:16:03.653333   
SaBo

Сообщений: 1089
Оценки: 0
Присоединился: 2005-02-17 20:16:54
quote:

ORIGINAL: nighthunter

quote:

2) Что бы открыть файл с удалённого хоста есть куча ф-ий, но у меня по каким-то причинам почему-то не работает ни одна… Хотя у всех остальных с этого же форума всё работает

самая простая функция - fopen()
&lt;?php $fd = fopen ("http://kovcheg.apeha.ru/inform/lavka.xml", "r"); $xml = ''; while (!feof ($fd)) { $xml .= fgets($fd, 4096); } fclose ($fd); echo $xml; ?&gt;
 Эт мы знаем… Дэнвер всёравно лагает… Винда предлагает отправить отчёт ап ашиппке… 
quote:

ORIGINAL: nighthunter
quote:

3)Теперь открой http://kovcheg.apeha.ru/inform/lavka.xml (который у меня почему-то не открывается)

не открывается потому как нужно точку в конце удалить )
 
Фуск! Вот она где подлая-то засела… :'(

Post #: 11
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-17 20:12:27.733333   
PHPprofi

Сообщений: 23
Оценки: 0
Присоединился: 2006-11-22 20:25:30.653333
quote:

ORIGINAL: Shrek

Помогите плиз. Имеется скрипт www.site1.com/test.php и файл http://kovcheg.apeha.ru/inform/lavka.xml.
Нужно, чтобы скрипт test.php каждые 15 минут смотрел файл XML с удаленного сервера и заносил новые данные в таблицу MySQL (или обновлял текущие данные).
Никогда не работал с XML, поэтому не могу реализовать =( Кто знает напишите плиз.


Свяжись со мной по АСЕ (321785546) я тебе покажу как реализовать этот скрипт, и я хочу обсудить с тобой вопрос дальнейшей работы со мной. Мне нужен такой же срипт, но сейчас занят работой своей. Думаю что ты сможешь работать со мной.
Post #: 12
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-17 20:20:40.140000   
Helios

Сообщений: 48
Оценки: 0
Присоединился: 2005-06-16 20:10:53
Денвер у тебя и будет лагать - там никогда fopen с инетом нормально не работала - по крайней мере у меня.
 
Попробуй xampp или хотя бы обнови версию Денвера
Post #: 13
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-17 21:13:23.043333   
PHPprofi

Сообщений: 23
Оценки: 0
Присоединился: 2006-11-22 20:25:30.653333
Для корректной работы Денвера с выходом в "Интернет" требуется прочесть одноименую статью на сайте разработчиков Денвера. Я с этой статьей сталкивался. Поищите и непременно найдете то, что вас интересует.
Post #: 14
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-19 08:15:06.233333   
Shrek

Сообщений: 3
Оценки: 0
Присоединился: 2006-12-15 14:17:30.390000
Большое спасибо всем кто откликнулся! Воспользовался скриптом от deniska. Парсер работает, но возник еще один вопрос.
Есть еще один xml-файл такого вида:
<user uid="200394622" nick="Dart Vedro" race="Or" lvl="5" isinbattle="3263736" place="Арена: Комната Начинающих #1" hp="0" max_hp="10" mana="0" max_mana="0" rate="" injuries="" />
<user uid="200668417" nick="-Владимир-" race="Gn" lvl="6" isinbattle="3263731" place="Арена: Торговая Комната" hp="280" max_hp="280" mana="0" max_mana="0" rate="114.542857142857" injuries="0" />
- &lt;user uid="200260207" nick="~Kleglo~" race="El" lvl="8" place="Здание Суда" hp="195" max_hp="195" mana="300" max_mana="300" rate="105.442857142857" injuries="0"&gt;
&lt;prop name="Молчанка в чате" /&gt;
&lt;/user&gt;

<user uid="200440343" nick="___ЛЁКА___" race="Gn" lvl="7" isinbattle="3263810" place="Арена: Комната Ветеранов" hp="195" max_hp="235" mana="168" max_mana="170" rate="148.625" injuries="0" />

То есть есть позиции с дополнительными параметрами. Как их вставить вместе с общими параметрами?
Post #: 15
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-20 12:19:52.680000   
Shrek

Сообщений: 3
Оценки: 0
Присоединился: 2006-12-15 14:17:30.390000
ау, неужели никто не ответит? =(
Post #: 16
RE: Помогите со скриптом PHP+XML+MySQL - 2006-12-20 17:36:36.696666   
BacR

Сообщений: 7
Оценки: 0
Присоединился: 2006-04-15 12:19:50
Папробуй это

$a=file("xml");
$i=0;
for($q=0;$q<count($a);$q++){
if(preg_match("/<user/",$a[$q])){$i++;};
if(preg_match("/uid=(.*) /",$a[$q],$m) && $i>0){$b[$i]['uid']=$m[1];}
for ($r=1;$r<=$i;$r++){
$uid=$b[$r]['uid'];
mysql_query("insert into `table`(`uid`);
Post #: 17
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Помогите со скриптом PHP+XML+MySQL







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.