Autor Zpráva
Levelson
Profil *
Nevím si rady jak z textového soubory natáhnout data do DB tabulek

Budu mít přibližně následující formát txt:

290298 D:\obrazky\sport\fotbal\Tomáš Rosický.jpg
275382 D:\obrazky\sport\basketbal\Magic Johnson.jpg
275382 D:\obrazky\sport\hokej\Dominik Hašek.jpg


A potřeboval bych nahrát tabulku do Mysql : Sportovci

sloupec id (jedinečné poř. číslo)
Sloupec velikost (tj. to číslo před adresou)
sport (je obsažen v adrese mezi lomítky)
sportovec (uložit bez pripon jpg)
obsah (to bude obyč VARCHAR sloupec defaultně prázdný)

dík za tipy PS: texťák má asi 8000 řádků....
nightfish
Profil
preg_match_all('~(\d+) D:\\\\obrazky\\\\sport\\\\(\w+)\\\(.*)\\.jpg~U', file_get_contents("soubor.txt"), $matches, PREG_SET_ORDER);

a jednotlivé údaje budeš mít v jednotlivých položkách pole $matches
konkrétně první sportovec bude v $matches[0], velikost v $matches[0][1], sport v $matches[0][2], sportovec v $matches[0][3]
druhý pak v $matches[1], ..., $matches[1][1], $matches[1][2], ...
EDIT: na procházení pole $matches je vhodné použít foreach
foreach ($matches as $m) {
  // velikost v $m[1]
  // sport v $m[2]
  // sportovec v $m[3]
}


ukládání do databáze je popsáno na http://www.linuxsoft.cz/article.php?id_article=357
Joker
Profil
Levelson:
Ještě pro kontrolu- ten formát je vždycky takhle pevný a všechny cesty začínají "D:\obrazky\sport\"?
Levelson
Profil *
TO JOKER: JJ v tomto souboru to bude pevně: " D:\obrazky\sport\". ...

TO nightfish: díky, zkusím si s tím pohrát podle tvého návodu....

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0