Import dat z banky: Porovnání verzí
Z Freenetis Wiki
(Založena nová stránka: =Import výpisů z eBanky= ==Spojování více (netransparentních) výpisů do jednoho== V systému eBanky si můžete nechat vyhotovit výpisy pro zadané období. Při ...) |
(→Spojování více (netransparentních) výpisů do jednoho) |
||
Řádek 8: | Řádek 8: | ||
Pokud po instalaci Freenetisu potřebujete naimportovat mnoho (např. několik desítek) netransparentních výpisů najednou, pak můžete klikat po jednom, nebo můžete využít skript pro command-line php, který všechny výpisy spojí do jediného velkého souboru: | Pokud po instalaci Freenetisu potřebujete naimportovat mnoho (např. několik desítek) netransparentních výpisů najednou, pak můžete klikat po jednom, nebo můžete využít skript pro command-line php, který všechny výpisy spojí do jediného velkého souboru: | ||
− | + | <?php | |
− | + | $stderr=fopen("php://stderr", "r"); | |
− | + | $first=true; | |
− | + | $file_cnt=0; | |
− | + | foreach ($_SERVER["argv"] as $argc=>$argv) | |
− | + | if ($argc>0 && file_exists($argv) && is_file($argv)) { | |
− | + | $file_cnt++; | |
− | + | fprintf($stderr, "Zpracovávám: $argv\n"); | |
− | + | $str=file_get_contents($argv, "r"); | |
− | + | $start=stripos($str, "Pohyby na"); | |
− | + | $table_start=stripos($str, "<table", $start); | |
− | + | $first_row_start=stripos($str, "<tr",$table_start+6); | |
− | + | $second_row_start=stripos($str, "<tr",$first_row_start+3); | |
− | + | if ($first) // je to první soubor? | |
− | + | echo substr($str, 0, $second_row_start); // vytiskni i jeho hlavičku | |
− | + | $first=false; | |
− | + | } | |
− | + | $last_row_end=stripos($str, "</table", $second_row_start); | |
− | + | echo substr($str, $second_row_start, $last_row_end-$second_row_start-8); | |
− | + | } | |
− | + | echo substr($str, $last_row_end); // u posledního souboru vytiskni i konec | |
− | + | fprintf($stderr, "\nZpracováno $file_cnt souborů\n"); | |
− | + | ?> | |
− | |||
− | |||
Skript uložte do souboru např. "radky.php" a následně spusťte příkazem: | Skript uložte do souboru např. "radky.php" a následně spusťte příkazem: | ||
php radky.php *.htm > vysledek.html | php radky.php *.htm > vysledek.html |
Verze z 18. 8. 2009, 07:39
Import výpisů z eBanky
Spojování více (netransparentních) výpisů do jednoho
V systému eBanky si můžete nechat vyhotovit výpisy pro zadané období. Při volbě délky období uvažujete takto:
- Čím kratší období bude, tím častěji budete muset výpisý do Freenetis-u importovat
- Čím delší období bude, tím déle budou muset uživatelé čekat na připsání kreditu do Freenetis-u
Pokud po instalaci Freenetisu potřebujete naimportovat mnoho (např. několik desítek) netransparentních výpisů najednou, pak můžete klikat po jednom, nebo můžete využít skript pro command-line php, který všechny výpisy spojí do jediného velkého souboru:
<?php $stderr=fopen("php://stderr", "r"); $first=true; $file_cnt=0; foreach ($_SERVER["argv"] as $argc=>$argv) if ($argc>0 && file_exists($argv) && is_file($argv)) { $file_cnt++; fprintf($stderr, "Zpracovávám: $argv\n"); $str=file_get_contents($argv, "r"); $start=stripos($str, "Pohyby na"); $table_start=stripos($str, "<table", $start); $first_row_start=stripos($str, "<tr",$table_start+6); $second_row_start=stripos($str, "<tr",$first_row_start+3); if ($first) // je to první soubor? echo substr($str, 0, $second_row_start); // vytiskni i jeho hlavičku $first=false; } $last_row_end=stripos($str, "</table", $second_row_start); echo substr($str, $second_row_start, $last_row_end-$second_row_start-8); } echo substr($str, $last_row_end); // u posledního souboru vytiskni i konec fprintf($stderr, "\nZpracováno $file_cnt souborů\n"); ?>
Skript uložte do souboru např. "radky.php" a následně spusťte příkazem:
php radky.php *.htm > vysledek.html