Import dat z banky: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
(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
+
<?php
$stderr=fopen("php://stderr", "r");
+
$stderr=fopen("php://stderr", "r");
$first=true;
+
$first=true;
$file_cnt=0;
+
$file_cnt=0;
foreach ($_SERVER["argv"] as $argc=>$argv)  
+
foreach ($_SERVER["argv"] as $argc=>$argv)  
if ($argc>0 && file_exists($argv) && is_file($argv)) {
+
if ($argc>0 && file_exists($argv) && is_file($argv)) {
$file_cnt++;
+
$file_cnt++;
fprintf($stderr, "Zpracovávám: $argv\n");
+
fprintf($stderr, "Zpracovávám: $argv\n");
$str=file_get_contents($argv, "r");
+
$str=file_get_contents($argv, "r");
$start=stripos($str, "Pohyby na");
+
$start=stripos($str, "Pohyby na");
$table_start=stripos($str, "<table", $start);
+
$table_start=stripos($str, "<table", $start);
$first_row_start=stripos($str, "<tr",$table_start+6);
+
$first_row_start=stripos($str, "<tr",$table_start+6);
$second_row_start=stripos($str, "<tr",$first_row_start+3);
+
$second_row_start=stripos($str, "<tr",$first_row_start+3);
if ($first) { // je to první soubor?
+
if ($first) // je to první soubor?
echo substr($str, 0, $second_row_start); // vytiskni i jeho hlavičku
+
echo substr($str, 0, $second_row_start); // vytiskni i jeho hlavičku
$first=false;
+
$first=false;
}
+
}
$last_row_end=stripos($str, "</table", $second_row_start);
+
$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, $second_row_start, $last_row_end-$second_row_start-8);
}
+
  }
echo substr($str, $last_row_end); // u posledního souboru vytiskni i konec
+
echo substr($str, $last_row_end); // u posledního souboru vytiskni i konec
fprintf($stderr, "\nZpracováno $file_cnt souborů\n");
+
  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