Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przetworzenie pliku, duzy plik
track
post
Post #1





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam. MAm plik o rozszerzeniu *.csv. Jest on "zrzutem" bazy danych. Chce go odpowiednio przetworzyc i wrzucic do bazy. Robie to w nastewpujacy posob:

1. Kazda linijke pliku wrzucam do tablicy poprzez file();
2. Teraz kazdy element tej tablicy poprzez explode dziele po regularnym ";".
3. i teraz dane sa gotowe do wrzucenia do bazy danych

Niestety takie rozwiazanie zajmuje troche czasu poniewaz plik ma okolo 3000 linijek. Czy znacie moze jakies rozwiazanie tego problemu, zeby serwer nie wywalil TIME OUTu? Moze jakies przetwarzanie sekwencyjne?? Z gory dziekuje za wszystkie podpowiedzi i sugestie.

Pozdrawiam,
TRACK
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
legorek
post
Post #2





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Można zrobić na kilka sposobów

I. set_time_limit()" title="Zobacz w manualu PHP" target="_manual
II. Porcjujemy.

Ad. II

Kiedyś robiłem coś takiego jak generator galerii (wiadomo zabawa z obrazkami troche trwa), wiec tak sobie podzielilem

1. Otwieram obrazek;
2. Robie co trzeba;
3. Zapisuje obrazek;
4. Zapisuje jaki nastepny obrazek bede otwieral (w sesji);
5. Reload strony.


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


"LOAD DATA INFILE" z poziomu mysqla (wczytuje pliki formatu csv --- baaardzo szybko w porownaniu do php), musisz miec tylko dostep do lokalnych plikow spod mysqla (w innych bazech tez jest pewnie taka opcja)


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
track
post
Post #4





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 17.07.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Plik jest zdalny. Nie ma go lokalnie na serwerze. Czy taki manewr tez jest mozliwy??
Go to the top of the page
+Quote Post
legorek
post
Post #5





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


via PhpMyAdmin ? Skoro eksportuje do CVS to moze i importuje. Sprawdź.


--------------------
Go to the top of the page
+Quote Post
santalam
post
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


rzuć plik na lokal i walnij z lokalnego do bazy, sam zaraz praztestuje to LOAD DATA INFILE, bo tez bawie sie z .csv...

jak to poskładać?

LOAD DATA INFILE http://bleble.csv REPLACE INTO TABLE tablica FIELDS TERMINATED BY ',' FIELDS ENCLOSED BY '"'

czyli w cześciach:

LOAD DATA INFILE

http://bleble.csv

REPLACE INTO TABLE tablica

FIELDS TERMINATED BY ','

FIELDS ENCLOSED BY '"'

Pomożecie? Może to jest odpowiedź....

Ten post edytował santalam 6.07.2005, 18:44:35
Go to the top of the page
+Quote Post
bela
post
Post #7


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

Ostrzeżenie: (0%)
-----


File() to najgorsze co może być do duzych plików winksmiley.jpg Użyj file_get_contents


--------------------
Go to the top of the page
+Quote Post
santalam
post
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 23.04.2005

Ostrzeżenie: (0%)
-----


a zapytanie do mysql nie jest dobre jak mam wszystko poukładane w takiej samej kolejności jak w pliku?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 04:42