Witam. Mam konwerter, ale tylko na jedną linijkę treści pliku...
  1. <?php
  2. if(!$_POST['wyslany']) {
  3. echo '<form enctype="multipart/form-data" action="index.php" method="post">';
  4. echo '<input type="file" name="plik" id="plik"/><br />';
  5. echo '<select name="bank">';
  6. echo '<option>Deutsche Bank</option>';
  7. echo '</select><br />';
  8. /*echo '<select name="uo">';
  9. echo '<option value="O">Obciazenie</option>';
  10. echo '<option value="D">Uznanie</option>';
  11. echo '</select>';
  12. */
  13. echo '<input type="submit" name="wyslany" value="Konwertuj" />';
  14. echo '</form>';
  15. } else {
  16. $plik_tmp = $_FILES['plik']['tmp_name'];
  17. $name = $_FILES['plik']['name'];
  18. $size = $_FILES['plik']['size'];
  19. $type = $_FILES['plik']['type'];
  20. $text = $_FILES['plik']['file'];
  21. $opcja = $_POST['bank'];
  22. $uo = $_POST['uo'];
  23. move_uploaded_file($plik_tmp, "$name");
  24.  
  25. // wczytanie starych danych
  26.  
  27. // otwarcie pliku do odczytu
  28. $fp = fopen($name, "r");
  29.  
  30. //odczytanie danych
  31. $stareDane = fread($fp, filesize($name));
  32.  
  33. // zamknięcie pliku
  34. fclose($fp);
  35.  
  36. // stworzenie nowych danych
  37. $stareDane = str_replace('"','', $stareDane);
  38. $stareDane = explode(';', $stareDane);
  39.  
  40. // zabawa pierwszą datą
  41. $data = $stareDane[0];
  42. $data = str_replace('-','', $data);
  43. $data = substr($data, 2);
  44.  
  45. $typ = substr($stareDane[3], 0, 1);
  46. $kwota = substr($stareDane[3],1);
  47. if($typ == '-') $t = 'D';
  48. else $t = 'C';
  49. echo $t;
  50. // zabawa drugą datą
  51. $data2 = $stareDane[1];
  52. $data2 = str_replace('-','', $data2);
  53. $data2 = substr($data2, 4);
  54. $tekstd = $stareDane[2];
  55. if($t == 'C')
  56. preg_match("#Nadawca: ([0-9 ]+)#", $tekstd, $result);
  57. else
  58. preg_match("#Adresat: ([0-9 ]+)#", $tekstd, $result);
  59. preg_match("#Treść: ([a-zA-Z0-9 ]+)#", $tekstd, $wynik);
  60. if($t == 'C')
  61. preg_match("#Nadawca: (.*?)Treść#", $tekstd, $wyn);
  62. else
  63. preg_match("#Adresat: (.*?)Treść#", $tekstd, $wyn);
  64. $dlugosc = strlen($result[1]);
  65. $nadawca = substr($wyn[1], $dlugosc);
  66. //echo $nadawca;
  67. $numer = str_replace(' ','', $result[1]);
  68. $tzw = substr($stareDane[4], 2);
  69. $tekst=':20:
  70. :25:PL53105017641000002304111590
  71. :61:'.$data.$data2.$t.$tzw.$kwota.'NTRFNONREF//
  72. :86:
  73. <20'.$wynik[1].'
  74. <27'.$nadawca.'
  75. <38'.$numer;
  76. //:61:1007290729CN158,60
  77. echo $tekst;
  78. // zapisanie nowych danych
  79.  
  80. // otwarcie pliku do zapisu
  81. $fp = fopen($name, "w");
  82.  
  83. // zapisanie danych
  84. fputs($fp, $tekst);
  85.  
  86. // zamknięcie pliku
  87. fclose($fp);
  88. }
  89. ?>

Pomoglibyście mi w to wsadzić pętlę? Bo mi za nic nie chce wychodzic :/

Ma konwertować następujący kawałek:
Kod
2010-07-31;2010-07-31;"OPŁATY I PROWIZJE - Opłata za prowadzenie rachunku";"-40,00";"PLN";"562,21";PLN
2010-07-29;2010-07-29;"PRZELEW WEWNĘTRZNY  - System db easyNET Nadawca: 57 1910 1048 2216 9958 8236 000 1 PIANKOWSKI JOLANTA ul. Ks.J.Poniatowskiego 6 81-724 SOPOT Treść: obsluga ksiag owa Jolanta Piankowski  Sopot ul Poniatowskiego 6 miesiac  lipiec";"158,60";"PLN";"602,21";PLN
2010-07-28;2010-07-28;"PRZELEW Z INNEGO BANKU Nadawca: 60 1090 1098 0000 0000 0909 6998 KITSON UL. PONI ATOWSKIEGO 9/7 80-15 6 GDAŃSK Treść: FV FA/320/2010 ";"366,00";"PLN";"443,61";PLN
2010-07-27;2010-07-27;"OPŁATY I PROWIZJE - PRZELEW DO INNEGO BANKU  - System db easyNET Adresat: 72 114 0 2017 0000 4202 0254 5507 Kancelaria Doradztwa Podatkowego B.  Mierosławska Tre ść: Najem pomieszczenia ";"-2,00";"PLN";"77,61";PLN
2010-07-27;2010-07-27;"PRZELEW DO INNEGO BANKU  - System db easyNET Adresat: 72 1140 2017 0000 4202 025 4 5507 Kancelaria Doradztwa Podatkowego B.  Mierosławska Treść: Najem pomieszcze nia ";"-900,00";"PLN";"79,61";PLN
2010-07-23;2010-07-23;"PRZELEW Z INNEGO BANKU Nadawca: 93 1060 0076 0000 3200 0133 8989 04 M SPÓŁKA Z O GRANICZONĄ ODPOWIEDZ IALNOŚCIĄAL. NIEPODLEGŁOŚCI 708/ 63  81-853  SOPOT Treść: f v 346 ";"976,00";"PLN";"979,61";PLN
2010-07-21;2010-07-21;"OPŁATY I PROWIZJE - PRZELEW DO ZUS  - System db easyNET  Adresat: 78 1010 1023 0 000 2613 9520 0000   NIP płatnika: 5851405573; REGON: 193032295 Typ wpłaty: S -  Składka za 1 m-c Deklaracja: 201005; Nr deklaracji: 1; ";"-2,00";"PLN";"3,61";PLN
2010-07-21;2010-07-21;"PRZELEW DO ZUS  - System db easyNET  Adresat: 78 1010 1023 0000 2613 9520 0000    NIP płatnika: 5851405573; REGON: 193032295 Typ wpłaty: S - Składka za 1 m-c Dek laracja: 201005; Nr deklaracji: 1; ";"-783,40";"PLN";"5,61";PLN
2010-07-20;2010-07-20;"PRZELEW WEWNĘTRZNY  - System db powerNET Nadawca: 24 1910 1048 2253 0248 9663 00 01 SD SPÓŁKA CYWILNA SŁAWOMIR I KRZYSZ TOF SAMONEKul. Hutnicza 4581-061 GDYNIA T reść: faktura vat nr FA/310/2010 ";"738,10";"PLN";"789,01";PLN
2010-07-20;2010-07-20;"OPŁATY I PROWIZJE - PRZELEW DO ZUS  - System db easyNET  Adresat: 83 1010 1023 0 000 2613 9510 0000   NIP płatnika: 5851405573; REGON: 193032295 Typ wpłaty: S -  Składka za 1 m-c Deklaracja: 201005; Nr deklaracji: 1; ";"-2,00";"PLN";"50,91";PLN
2010-07-20;2010-07-20;"PRZELEW DO ZUS  - System db easyNET  Adresat: 83 1010 1023 0000 2613 9510 0000    NIP płatnika: 5851405573; REGON: 193032295 Typ wpłaty: S - Składka za 1 m-c Dek laracja: 201005; Nr deklaracji: 1; ";"-728,41";"PLN";"52,91";PLN


Tu tego nie widać, ale w pliku jest zasada: jedna transakcja - jedna linijka
Nadal nie udało mi się tego zrobić......
Odświeżam...