![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 14.02.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dzień dobry, potrzebuje pomocy, jakiejś porady, wskazówek.
Ogólnie potrzebuje wrzucić do bazy dane z pliku tekstowego, który jest wrzucany przez użytkownika. Problem pojawia się w tym, że do bazy mają trafić dane z tym, że: a) nie wszystkie jakie są w pliku ![]() Poprawny "format" pliku jaki powinien być wczytywany do bazy w środku wygląda tak i ma rozszerzenie .txt (zdjęcie 1): Formatowanie pliku powinno wyglądać tak, że: Przed żadną z linijek nie ma spacji, po każdym i przed każdym słowem jest tylko jedna spacja. Miedzy linijkami w pliku nie ma pustych wierszy. po słowie Attrubutes nazwy nie mogą zawierać polskich znaków i spacji. http://ifotos.pl/zobacz/wygladpli_qnpraqh.jpg Plik jaki może się trafić może wyglądać tak(zdjęcie 2): http://ifotos.pl/zobacz/wygad-pli_qnpraas.jpg W ramkach zaznaczyłam dane, które powinny trafić do tabel bazy (różne kolory oznaczają różne tabele). Zrobiłam upload gdzie plik jest odbierany tak jak być powinien. Moim pierwszym pomysłem było zrobienie wyłuskania danych znajdujących się po "słowach kluczowych" (TABLE, ATTRIBUTES,OBJECTS itd) w ten sposób, że: Po pliku poruszam się za pomocą wskaźnika. I dalej (wiem, że mało profesjonalnie) trochę metodą na cwaniaka wyłuskuje to co mi potrzebne.
Ogólnie na tą chwile wyciąganie danych jakie są mi potrzebne działa a dane są zapisywane do bazy tak jak być powinny, ale tylko i wyłącznie wtedy kiedy plik wygląda jak na zdjęciu nr 1. W momencie pojawienia się więcej niż jednej spacji czy entera dodawanie do bazy zaczyna się rozjeżdżać i dodają się poucinane fragmenty z pliku. Niestety jak wiadomo jeśli użytkownik dodaje plik może okazać się, że w pliku po słowach kluczowych czy wartościach od 1 do 24 są puste linie lub więcej spacji i teraz moje pytanie brzmi jak rozwiązać taką sytuacje? Jak wczytać dane z pliku w sposób profesjonalny ? W sposób, który uchroni mnie przed wczytaniem do bazy głupot? Jak zabezpieczyć się przed wczytaniem pliku który ma format jak na zdjęciu drugim? Wszystkie porady i linki do pomocnych tematów mile widziane. Jeśli coś napisałam niejasno chętnie doprecyzuje to co jest niezrozumiałe. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Po każdym swoim użyciu fgets przefiltruj stringa moją funkcją:
https://3v4l.org/vacjP Znaczy się definicję tej funkcji umieść na początku, a potem ją stosuj. Funkcja ta czyści linijki z dodatkowych spacji i innych znaków niebędących kropką, liczbą i cyfrą. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 14.02.2017 Ostrzeżenie: (0%) ![]() ![]() |
Definicje umieściłam, zastosowałam, jest super. Pięknie czyści wszystko. Dziękuje !
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 05:19 |