Autor Zpráva
king26
Profil
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
king26 - toto nie je práve najlepší formát na strojové spracovanie, skús ho požiadať o nejaký iný (xml, csv, ...).
king26
Profil
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
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
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
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
Jen tak pro zajímavost bych raději testoval jestli se podařilo soubor otevřít než jestli existuje.

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