Autor | Zpráva | ||
---|---|---|---|
king26 Profil |
#1 · Zasláno: 22. 12. 2008, 21:37:22 · Upravil/a: king26
Ahoj, dělám pro kamaráda výpis dat ze souboru, jedná se o výpis transakcí z banky. Soubor vypadá nějak takhle: Odkaz
Potřebuji z toho dostat řádky mezi ________ a každý řádek uložit do databáze. Potřebuji z toho dostat proměnné datum splatnosti, datum odepsání, název protiúčtu, protiúčet/banka, identifikace transakce, variabilní, konstantní a specifický symbol, a částka dal(ve prospěch). A jelikož jsem se soubory v životě nedělal a nejsem expert na regulérní výrazy a funkcemi s nimi používanými, obracím se na vás s prosbou o pomoc. Zkoušel jsem něco sám, ale nedopadlo to moc světoborně. Mělo to vypsat vše mezi ______, výsledkem bylo ovšem jen prázdné pole: if (File_Exists ("data.txt")) { // existuje soubor? $fp = FOpen ("data.txt", "r"); // otevře soubor data.txt pro čtení $data = FRead ($fp, FileSize ("data.txt")); // načte do proměnné $data obsah souboru data.txt FClose ($fp); // zavře soubor data.txt preg_match("/_______(.*?)_______/", stripslashes($data), $data_do_db); } Předem díky za pomoc. |
||
tiso Profil |
#2 · Zasláno: 22. 12. 2008, 21:53:23
king26 - toto nie je práve najlepší formát na strojové spracovanie, skús ho požiadať o nejaký iný (xml, csv, ...).
|
||
king26 Profil |
#3 · Zasláno: 22. 12. 2008, 22:01:59
dávají na výběr pdf a txt, ale zeptám se.
Přesto kdyby někdo věděl, budu velice rád. |
||
king26 Profil |
#4 · Zasláno: 23. 12. 2008, 09:44:46
Tak csv soubor se podařilo dostat, ovšem to neřeší můj problém, že to nedokážu udělat. Takže pokud by někdo věděl, budu velice rád.
csv soubor: Odkaz |
||
tiso Profil |
#5 · Zasláno: 23. 12. 2008, 10:04:35
king26 pozri si príklad na http://sk.php.net/manual/en/function.fgetcsv.php
s tým, že ťa zaujímajú riadky kde existuje 3-tí prvok z vrátného poľa (s indexom 2) a nie je prázdny. |
||
king26 Profil |
#6 · Zasláno: 23. 12. 2008, 10:37:30
Díky za nasměrování, už jsem něco splácal, teď to bude hračka, díky!!
<?php if (File_Exists ("banka.csv")) { $fp = FOpen (stripslashes("banka.csv"), "r"); while(($data = fgetcsv($fp, 1024, ";"))!==FALSE) { if(ereg("^(([0-2]?[0-9])|(3[01])).((0?[0-9])|(1[012])).[0-9]{4}$",$d ata[0])) { for ($index = 0; $index < count($data); $index++) { echo $data[$index]."<strong>--</strong>"; } echo "<br>"; } } } ?> |
||
Měsíček Profil |
#7 · Zasláno: 23. 12. 2008, 10:39:50
Jen tak pro zajímavost bych raději testoval jestli se podařilo soubor otevřít než jestli existuje.
|
||
Časová prodleva: 15 let
|
0