Witam,
mam problem z zasysaniem plikow xml do mysql
sprawa wyglada nastepujaco
do katalogu na serwerze generowane sa plik xml z 3 roznymi danymi:
1) xxxx23218937321.xml
2) zzz88923189832.xml
3) yy12432332132.xml
w kazdym z tych plikow znajduja sie rozne dane przykladowe dane
1)xxxx23218937321.xml
<?xml version="1.0" encoding="UTF-8" ?>
<tabela>
<nazwisko>Kowalski</nazwisko>
<data>2010.05.24 10:48:21</data>
<email>kk@k.pl</email>
</tabela>
2) zzz88923189832.xml
<?xml version="1.0" encoding="UTF-8" ?>
<tabela2>
<miasto>Warszawa</miasto>
<data_2>2010.05.24 10:41:21</data_2>
<kod_pocztowy>01-114</kod_pocztowy>
</tabela2>
3) yy12432332132.xml
<?xml version="1.0" encoding="UTF-8" ?>
<tabela3>
<wojewodztwo>mazowieckie</wojewodztwo>
<data_3>2010.05.24 10:39:21</data_3>
<skrot>maz</skrot>
</tabela3>
Te pliki beda sie wrzucone do katalogu x
uzylem parsowania simplexml jesli jest jedne plik z danej kategori to nie ma problemu i oczywiscie kazdy z rodzaj pliku w oddzienlnym katalogu to nie ma problem pobiera ale jedne plik moze ktos pomoc aby wszystkie pliki byly pobierane z jednego katalogu a zeby sam skryp z php pobieral po zawartosci pliku czyli jesli tabela,tabela2,tabela3 i wrzucal od odpowieniej bazy
jesli cos nie napisalem zrozumiale to prosze i info dopisze wiecej
ponizej kawalek kodu dzieki ktoremu pobieram dane z pliku i przerzucam do bazy :
if($katalog = opendir('./xml/x')){
while(false !== ($plik = readdir($katalog))){
if($plik != '.' && $plik != '..'){
$connection = @mysql_connect('localhost', 'user', 'haslo')
or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
$db = @mysql_select_db('tabela', $connection)
or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
$xml = simplexml_load_file('./xml/x'.$plik.'');
$w = $xml->attributes();
$nazwisko = $xml->nazwisko;
$data = $xml->data;
$email = $xml->email;
$dodaj = mysql_query ('INSERT INTO tabela SET nazwisko='.$nazwisko.', data='.$data.', email='.$email.'');
}
}
}
powyzszy kod dziala ale na pojedynczych plikach nie chce wrzucac wszystkich w danym katalogu, ale najlepszym rozwiazanem bylo by zeby wszystkie pliki byly w jednym katalogu (xxxx*.xml,zzz*.xml,yy*.xml)
z gory dzieki