Witam !
Mam skrypt, który pobiera dane z pliku xml i wysyła do bazy danych.
Jak go przerobić , aby pobierał dane z serwera automatycznie i wysyłał do bazy.
Na serwerze mam folder "user" i każdego dnia przybywa klika plików do tego folderu.
Np: 124-u.xml, 126-u.xml, 128-u.xml itp...
Plik zmienia swoją nazwę o dwa.
Jednego dnia przybywa 10, drugiego np 4 pliki

Chodzi mi o przerobienie tego skryptu, tak aby codziennie dodawał nowych userów do bazy
Proszę o pomoc.

Myślę nad zastosowaniem cron.
Tylko jak policzyć tych nowych userów, dodać do formularza i wysłać automatycznie
Dzięki za pomoc



  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>Test</title>
  6. </head>
  7. <body>
  8. <form method="post" enctype="multipart/form-data" action="">
  9. <p>Plik XML:<br />
  10. <input type="file" name="plik" />
  11. <input type="submit" name="submit_file" value="Wczytaj" /></p>
  12. </form>
  13. <form method="post" action="">
  14. <?php
  15.  
  16. $db_config = array(
  17.    'host' => 'localhost',
  18.    'user' => 'uzytkownik',
  19.    'password' => 'haslo',
  20.    'name' => 'baza',
  21.    'table' => 'tabela'
  22. );
  23.  
  24. $fields = array('pozycja', 'data_publikacji', 'nazwa', 'ulica', 'nr_domu');
  25.  
  26. // początkowe wypełnienie wartości pól na wartości puste
  27. $fields_values = array();
  28. foreach ($fields as $field) {
  29.    $fields_values[$field] = '';
  30. }
  31.  
  32. if (isset($_POST['submit_file']) && isset($_FILES['plik'])) { // przesłano plik, wypełnienie wartości pól
  33.    $xml = simplexml_load_file($_FILES['plik']['tmp_name']);
  34.    if ($xml !== false) {
  35.        foreach ($fields as $field) {
  36.            $fields_values[$field] = $xml->$field;
  37.        }
  38.    }
  39. }
  40. elseif (isset($_POST['submit_form'])) { // przesłano formularz, wstawienie danych do bazy
  41.    $sql = '';
  42.    foreach ($fields as $field) {
  43.        $sql .= (($sql === '') ? '' : ',') . ("'" . addslashes($_POST[$field]) . "'");
  44.    }
  45.    echo '<p>Wykonanie zapytania SQL: <br />INSERT INTO ' . $db_config['table'] . ' (' . implode(',', $fields) . ') VALUES (' . $sql . ')</p>';
  46.  
  47.    $db_connection = @mysql_connect($db_config['host'], $db_config['user'], $db_config['password']);
  48.    if (!$db_connection) {
  49.        echo '<p>Błąd przy próbie połączenia z bazą</p>';
  50.    }
  51.    else {
  52.        if (!@mysql_select_db($db_config['name'], $db_connection)) {
  53.            echo '<p>Błąd przy próbie wybrania bazy</p>';
  54.        }
  55.        else {
  56.            @mysql_query("SET NAMES 'utf8'", $db_connection);
  57.            $sql = '';
  58.            foreach ($fields as $field) {
  59.                $sql .= (($sql === '') ? '' : ',') . ("'" . mysql_real_escape_string($_POST[$field]) . "'");
  60.            }
  61.            if (@mysql_query('INSERT INTO ' . $db_config['table'] . ' (' . implode(',', $fields) . ') VALUES (' . $sql . ')', $db_connection) !== false) {
  62.                echo '<p>Zapisano dane do bazy</p>';
  63.            }
  64.            else {
  65.                echo '<p>Błąd: ' . mysql_error() . '</p>';
  66.            }
  67.        }
  68.    }
  69.  
  70. }
  71.  
  72. // wyświetlanie pól formularza
  73. foreach ($fields as $field) {
  74.    echo '<p><label>' . $field . ':<br /><input type="text" name="' . $field . '" value="' . htmlspecialchars($fields_values[$field]) . '" /></label></p>';
  75. }
  76. ?>
  77. <p><input type="submit" name="submit_form" value="Zapisz" /></p>
  78. </form>
  79. </body>
  80. </html>