Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pocięcie pliku na kilka mniejszych
kłulik
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Copa Cabana

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


Witam.

Muszę pociąć plik 70MB na części około 5MB, ale tak żeby poszczególne linie nie były pocięte, tzn. żeby nie było tak, że kawałek wiersza jest w jednym pliku, a reszta w drugim. Próbowałem w php za pomocą fopen i explode ale trwało to strasznie wolno. Natomiast Total Commander przecinał mi wiersz w połowie.
Jakieś pomysły lub programy jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





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

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


Ale nie trzeba trzymac calych danych w pamieci:

1. musisz miec zagwarantowane ze kazda linia bedzie < 5MB
$data_count = 0; // zlicza ilosc zapisanych danych do pojedynczego pliku

2. odczytujesz linie

3.
jesli jej dlugosc + $data_count < 5MB to ja dopisujesz do $pliku
i zapisujesz do $pliku; $data_count += dlugosc tej linii

jesli nie zamykasz ten $plik a linie wpisujesz do nowego $pliku., $data_count = dlugosc tej linii
4. itd. az skonczy sie plik zrodlowy

W pamieci trzymasz max 1 linie (choc oczywiscie moze ona byc dowolnie dluga).
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 10:43