Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][XML] Dane z FTP do MySQL
Frugo75
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 13.06.2013

Ostrzeżenie: (0%)
-----


Witam,

Zastanwiam sie nad rozwiązaniem i prosze o pomoc.

Mam pliki XML z depeszami agencyjnymi na FTP podzielone na rozne kategorie, np katalog 1 - w nim kategoria KRAJ, katalog 10 w nim xml z kategorii ŚWIAT itp.

I teraz co i jak powinienem zrobic, aby dane z FTP przenosiły się same (automatycznie, zaraz po pojawieniu się nowej depeszy w xml) do bazy mysql.

Ma ktos pomysł jak to zrobić? Proszę o wskazówki.

Pozdrawiam

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mar1aczi
post
Post #2





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

Ostrzeżenie: (0%)
-----


Nie obraź się, ale powinieneś zapoznać się z zasadami języka php - tworzenie funkcji, składnia itp.
Kod z funkcją powinien wyglądać tak (nie sprawdzałem poprawności wszystkich linii, poprawiłem jedynie "kolejność kodu" co do dopisanej funkcji:
  1. <?php
  2.  
  3. function str2url($str, $replace = "-" ){
  4.  
  5. // konwersja znaków utf do znaków podstawowych
  6. $str = iconv('UTF- 8', 'ASCII//TRANSLIT', $str);
  7.  
  8. // Niektóre francuskie i niemieckie litery pozostawiają po takiej konwersji (jak powyżej)
  9. // dodatkowe znaki. Poniższe dwie linijki te znaki wycinają
  10.  
  11. $charsArr = array( '^', "'", '"', '`', '~');
  12. $str = str_replace( $charsArr, '', $str );
  13.  
  14. $return = trim(ereg_replace(' +',' ',preg_replace('/[^a-zA-Z0-9\s]/','',strtolower($str))));
  15. return str_replace(' ', $replace, $return);
  16. }
  17.  
  18. $doc = new DOMDocument("1.0", "iso-8859-2");
  19. $doc->load("feeds.xml");
  20. $books = $doc->getElementsByTagName('feed');
  21. foreach ($books as $feed) {
  22. echo $feed->nodeValue, PHP_EOL;
  23. // echo $feed -> getAttribute('id').'<br>';
  24. $path = $feed -> getAttribute('path');
  25. // echo $feed -> getAttribute('cat_id').'<br>';
  26. //echo $path;
  27.  
  28. //$path1
  29.  
  30. $path1 = substr($path, "1");
  31. $path1.'<br>';
  32.  
  33. $doc = new DOMDocument("1.0", "iso-8859-2");
  34.  
  35. $doc->load("$path1");
  36.  
  37. $feed = $doc->getElementsByTagName( "feed" );
  38. foreach ($feed as $matches)
  39. {
  40. $title = $matches->getElementsByTagName( "title" );
  41. $tytul = $title->item(0)->nodeValue;
  42.  
  43. $content = $matches->getElementsByTagName( "content" );
  44. $tresc = $content->item(0)->nodeValue;
  45.  
  46. $id = $matches->getElementsByTagName( "id" );
  47. $export_id = $id->item(0)->nodeValue;
  48.  
  49. $add_date = $matches->getElementsByTagName( "add_date" );
  50. $date = $add_date->item(0)->nodeValue;
  51.  
  52.  
  53. $date;
  54.  
  55. // echo "$tytul";
  56. echo "<br>";
  57. echo "<br>";
  58. echo "<br>";
  59. "$tresc";
  60.  
  61.  
  62.  
  63. $tytul1 = addslashes($tytul);
  64. $tresc1 = addslashes($tresc);
  65. $date1 = addslashes($date);
  66.  
  67. mysql_connect("xxx","xxx","xxx") or die(mysql_error());
  68. mysql_query("SET NAMES utf8");
  69.  
  70. $tresc1;
  71.  
  72. echo $tytul1;
  73.  
  74. $tylul1a=str2Url($tytul1);
  75.  
  76. echo $tylul1a;
  77.  
  78. mysql_query("INSERT INTO wp_posts (post_content, post_title, post_date, ID, post_name) VALUES ('".$tresc1."', '".$tytul1."', '".$date1."', '$export_id', '$tylul1a') ON DUPLICATE KEY UPDATE ID=VALUES(ID)") or die(mysql_error());
  79.  
  80. mysql_query("INSERT INTO wp_term_relationships (object_id, term_taxonomy_id) VALUES ('$export_id', '3') ON DUPLICATE KEY UPDATE term_taxonomy_id=VALUES(term_taxonomy_id)") or die(mysql_error());
  81.  
  82. }
  83.  
  84. ?>


Ten post edytował mar1aczi 18.01.2014, 23:48:20
Go to the top of the page
+Quote Post

Posty w temacie
- Frugo75   [MySQL][XML] Dane z FTP do MySQL   14.01.2014, 13:37:49
- - mar1aczi   Cytat(Frugo75 @ 14.01.2014, 13:37:49 ...   14.01.2014, 13:40:18
- - Frugo75   Cytat(mar1aczi @ 14.01.2014, 14:40:18...   14.01.2014, 13:48:42
- - mar1aczi   Cron do uruchamiania skryptu. Skrypt: 1. sprawdza ...   14.01.2014, 14:06:02
- - Frugo75   Dziękuję. Teraz przynajmniej wiem od czego zaczac...   14.01.2014, 21:32:48
- - Turson   VALUES ('".$tresc."', ...   14.01.2014, 22:16:18
- - Frugo75   Cytat(Turson @ 14.01.2014, 22:16:18 )...   14.01.2014, 22:25:56
- - Turson   Błąd nie leży po stronie apostrofa a typowy błąd k...   14.01.2014, 22:29:39
- - Frugo75   Cytat(Turson @ 14.01.2014, 22:29:39 )...   15.01.2014, 19:57:22
- - mar1aczi   getElementsByTagName Pierwszy przykład na powyższe...   15.01.2014, 20:23:01
- - Frugo75   Cytat(mar1aczi @ 15.01.2014, 20:23:01...   15.01.2014, 20:35:31
|- - mar1aczi   Cytat(Frugo75 @ 15.01.2014, 20:35:31 ...   15.01.2014, 20:38:47
- - Frugo75   Witam ponownie. Sporo juz zrobilem. Newsy z ftp la...   18.01.2014, 10:25:07
- - mar1aczi   Funkcję str2url() wyjmij poza pętlę foreach. Spraw...   18.01.2014, 13:48:59
- - Frugo75   Dzięki, ale nie działa. Przenioslem wszystkie nawi...   18.01.2014, 14:20:35
- - mar1aczi   Pokaż kod po naniesionych poprawkach.   18.01.2014, 19:36:46
- - Frugo75   Dzięki. Wklejam kod [PHP] pobierz, plaintext ...   18.01.2014, 20:08:04
- - mar1aczi   Nie obraź się, ale powinieneś zapoznać się z zasad...   18.01.2014, 23:47:52
- - Frugo75   Dziękuje. Nie obrazam sie, bo mam swiadomosc, ze j...   19.01.2014, 10:24:27


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 23:09