Revision f73d3b5e
Von Holger Lindemann vor mehr als 15 Jahren hinzugefügt
lxo-import/blz.php | ||
---|---|---|
7 | 7 |
Holger Lindemann <hli@lx-system.de> |
8 | 8 |
*/ |
9 | 9 |
|
10 |
if ($_POST) { |
|
11 | 10 |
|
12 |
function ende($nr) { |
|
13 |
echo "Abbruch: $nr<br>"; |
|
14 |
echo "Fehlende oder falsche Daten."; |
|
15 |
exit(1); |
|
16 |
} |
|
17 |
|
|
18 |
if (!$_SESSION["db"]) { |
|
19 |
$conffile="../config/authentication.pl"; |
|
20 |
if (!is_file($conffile)) { |
|
21 |
ende(4); |
|
22 |
} |
|
23 |
} |
|
24 |
require ("import_lib.php"); |
|
25 |
|
|
26 |
function l2u($str) { |
|
27 |
return iconv("ISO-8859-1", "UTF-8",$str); |
|
28 |
} |
|
29 |
|
|
30 |
if (!anmelden()) ende(5); |
|
31 |
/* get DB instance */ |
|
32 |
$db=$_SESSION["db"]; //new myDB($login); |
|
33 |
|
|
34 |
|
|
35 |
<<<<<<< .mine |
|
36 |
======= |
|
37 | 11 |
/* display help */ |
38 | 12 |
if ($_POST["ok"]=="Hilfe") { |
39 | 13 |
echo "<br>Die erste Zeile enthält keine Feldnamen der Daten.<br>"; |
... | ... | |
43 | 17 |
echo "http://www.bundesbank.de/zahlungsverkehr/zahlungsverkehr_bankleitzahlen_download.php</a>"; |
44 | 18 |
exit(0); |
45 | 19 |
} else if ($_POST) { |
46 |
>>>>>>> .r3649 |
|
20 |
function ende($nr) { |
|
21 |
echo "Abbruch: $nr<br>"; |
|
22 |
echo "Fehlende oder falsche Daten."; |
|
23 |
exit(1); |
|
24 |
} |
|
25 |
|
|
26 |
function l2u($str) { |
|
27 |
return iconv("ISO-8859-1", "UTF-8",$str); |
|
28 |
} |
|
29 |
|
|
30 |
require ("import_lib.php"); |
|
31 |
|
|
32 |
if (!$_SESSION["db"]) { |
|
33 |
$conffile="../config/authentication.pl"; |
|
34 |
if (!is_file($conffile)) { |
|
35 |
ende(4); |
|
36 |
} |
|
37 |
if (!anmelden()) ende(5); |
|
38 |
} |
|
39 |
|
|
40 |
|
|
41 |
/* get DB instance */ |
|
42 |
$db=$_SESSION["db"]; |
|
43 |
|
|
47 | 44 |
$test=$_POST["test"]; |
48 | 45 |
|
49 | 46 |
clearstatcache (); |
... | ... | |
67 | 64 |
|
68 | 65 |
$sqlins="INSERT INTO blz_data (blz,fuehrend,bezeichnung,plz,ort,kurzbez,pan,bic,pzbm,nummer,aekz,bl,folgeblz) "; |
69 | 66 |
$sqlins.="VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s',%d,'%s','%s','%s')"; |
70 |
$teststr="<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%d</td><td>%s</td><td>%s</td><td>%s</td></tr>\n"; |
|
67 |
$teststr="<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td>"; |
|
68 |
$teststr.="<td>%s</td><td>%s</td><td>%d</td><td>%s</td><td>%s</td><td>%s</td></tr>\n"; |
|
71 | 69 |
$sqldel="delete from blz_data"; |
72 | 70 |
$ok="true"; |
73 | 71 |
$cnt=0; |
... | ... | |
80 | 78 |
$rs = $db->getAll("SELECT current_setting('client_encoding')"); |
81 | 79 |
$cliencoding = $rs[0]['current_setting']; |
82 | 80 |
echo "SRV: $srvencoding - - CLI: $cliencoding<br>"; |
83 |
//Datenfile ist immer Latin!! |
|
84 |
//zwei Möglichkeiten der Zeichenwandlung. Was ist besser?? |
|
85 | 81 |
if ($f) { |
86 |
//Cliententcoding nicht umstellen: |
|
87 |
//if (!$test) { $rc=$db->query("BEGIN");}; |
|
88 | 82 |
//Cliententcoding auf Latin: |
89 | 83 |
if (!$test) { $rc=$db->query("BEGIN"); if ($cliencoding=="UTF8") $db->query("SET CLIENT_ENCODING TO 'latin-9'"); }; |
90 | 84 |
if (!$test) $rc=$db->query($sqldel); |
91 | 85 |
while (($zeile=fgets($f,256)) != FALSE) { |
92 | 86 |
$cnt++; |
93 |
if (!$test) { |
|
87 |
if (!$test){ |
|
88 |
//Datenfile ist immer Latin!! |
|
89 |
//zwei Möglichkeiten der Zeichenwandlung. Was ist besser?? |
|
94 | 90 |
//Client nicht umgestellt, Zeichen wandeln |
95 | 91 |
/*$sql=sprintf($sqlins,substr($zeile,0,8),substr($zeile,8,1),l2u(substr($zeile,9,58)),substr($zeile,67,5), |
96 | 92 |
l2u(substr($zeile,72,35)),l2u(substr($zeile,107,27)),substr($zeile,134,5),substr($zeile,139,11), |
... | ... | |
101 | 97 |
substr($zeile,72,35),substr($zeile,107,27),substr($zeile,134,5),substr($zeile,139,11), |
102 | 98 |
substr($zeile,150,2),substr($zeile,152,6),substr($zeile,158,1),substr($zeile,159,1), |
103 | 99 |
substr($zeile,160,8)); |
104 |
<<<<<<< .mine |
|
105 |
if (!$test){ |
|
106 | 100 |
$rc=$db->query($sql); |
107 |
if(DB::isError($rc)) {
|
|
108 |
echo $sql."<br><pre>";
|
|
101 |
if(DB::isError($rc)) { |
|
102 |
echo $sql."<br><pre>";
|
|
109 | 103 |
echo $rc->getMessage()."</pre><br>"; |
110 | 104 |
$ok=false; |
111 | 105 |
break; |
112 | 106 |
} |
113 |
======= |
|
114 |
$rc=$db->query($sql); |
|
115 | 107 |
if ($cnt % 10 == 0) { |
116 | 108 |
if ($cnt % 1000 == 0) { $x=time()-$start; echo sprintf("%dsec %6d<br>",$x,$cnt); } |
117 | 109 |
else if ($cnt % 100 == 0) { echo "!"; } |
... | ... | |
128 | 120 |
if (!$rc) { |
129 | 121 |
$ok=false; |
130 | 122 |
break; |
131 |
>>>>>>> .r3649 |
|
132 | 123 |
} |
133 | 124 |
$i++; |
134 | 125 |
} |
... | ... | |
147 | 138 |
} else { |
148 | 139 |
ende(4); |
149 | 140 |
} |
150 |
<<<<<<< .mine |
|
151 |
} |
|
152 |
======= |
|
153 |
echo "</table>"; |
|
141 |
echo "</table><br>Fertig. $i Banken importiert."; |
|
154 | 142 |
} else { |
155 |
>>>>>>> .r3649 |
|
156 | 143 |
?> |
157 | 144 |
<p class="listtop">BLZ-Import für die ERP<p> |
158 | 145 |
<br>Die erste Zeile enthält keine Feldnamen der Daten.<br> |
... | ... | |
160 | 147 |
Die Daten können hier bezogen werden:<br> |
161 | 148 |
<a http='http://www.bundesbank.de/zahlungsverkehr/zahlungsverkehr_bankleitzahlen_download.php'> |
162 | 149 |
http://www.bundesbank.de/zahlungsverkehr/zahlungsverkehr_bankleitzahlen_download.php</a><br><br> |
163 |
ggf. das File vorher noch auf UTF8 wandeln: iconv -f latin1 -t utf8 blz.txt -o blz1.txt<br><br>
|
|
150 |
Das File vorher <b>nicht</b> auf UTF8 wandeln!<br><br>
|
|
164 | 151 |
Achtung!! Die bestehenden BLZ-Daten werden zunächst gelöscht. |
165 | 152 |
<br> |
166 | 153 |
<form name="import" method="post" enctype="multipart/form-data" action="blz.php"> |
... | ... | |
172 | 159 |
<tr><td></td><td><input type="submit" name="ok" value="Import"></td></tr> |
173 | 160 |
</table> |
174 | 161 |
</form> |
162 |
<?php } ?> |
Auch abrufbar als: Unified diff
Bereinigt um rev-Einträge