Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] explode
grzegorzko90
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.12.2008
Skąd: Małopolska

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


Witam. Mam pytanie... jak mam zastosować funkcję explode() jeśli dane, które chcę rozbić na tablice znajdują się w pliku ?
Myślałem ,żeby odczytać dane z pliku i podstawić do zmiennej ale ten plik zawiera "ogromną" ilość linijek. Podrzuci ktoś jakieś rozwiązanie ?
Pozdrawiam.
Grzegorz.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




może file" title="Zobacz w manualu PHP" target="_manual od razu plik masz w tablicy
Go to the top of the page
+Quote Post
sowiq
post
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Cytat(grzegorzko90 @ 30.04.2009, 13:07:41 ) *
ale ten plik zawiera "ogromną" ilość linijek.
Ogromną, to znaczy jaką?
Jeśli plik jest bardzo duży, zamiast file()" title="Zobacz w manualu PHP" target="_manual używaj fgets()" title="Zobacz w manualu PHP" target="_manual. Dzięki tej funkcji nie pobierasz do pamięci całego pliku, a tylko kolejne jego linie.
Go to the top of the page
+Quote Post
slawny
post
Post #4





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


  1. <?php
  2. $lista = file('plik.txt');
  3.  
  4. foreach ($lista as $linia)
  5. {
  6.  $tuser = explode(';',$linia);
  7.  //inny kod
  8. }
  9. ?>
Go to the top of the page
+Quote Post
sowiq
post
Post #5





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


@slawny,
a co jeśli plik waży 100MB i jednocześnie otworzy go w ten sposób 500 userów? Autor napisał, że plik jest dosyć spory.
Go to the top of the page
+Quote Post
slawny
post
Post #6





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


Tak, masz racje napisał że jest dość spory. Ale nie raczył odpisać tobie, jak bardzo....
Jak napisze, że plik ma 100MB to się do tego odniosę, a póki co nie szukaj dziury w całym.
Go to the top of the page
+Quote Post
grzegorzko90
post
Post #7





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.12.2008
Skąd: Małopolska

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


macie rację, przepraszam nie napisałem wielkości. Plik waży ~ 45 mb. Wydaje mi się ,że to dosyć duża waga. Jak już ktoś pisał jeżeli otworzy go kilka osób serwer może być za bardzo obciążony.
Go to the top of the page
+Quote Post
slawny
post
Post #8





Grupa: Zarejestrowani
Postów: 214
Pomógł: 26
Dołączył: 7.11.2007
Skąd: Warszawa

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


No to tak jak @sowiq pisał użyj fgets.

Ale czy faktycznie będą sytuacje kiedy na tym pliku będzie pracowało kilku userów?

Ten post edytował slawny 30.04.2009, 14:30:16
Go to the top of the page
+Quote Post
grzegorzko90
post
Post #9





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 6.12.2008
Skąd: Małopolska

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


Hmmm obecnie jest to mało prawdopodobne no ale w przyszłości (wraz z rozwojem projektu) będą takie sytuacje.
Go to the top of the page
+Quote Post
Crozin
post
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Czy to koniecznie musi być jeden plik tekstowy? Czy nie lepiej byłoby użyć bazy danych, albo chociaż podzielić go na kilka części. Oczywiście o ile istnieje taka możliwość.
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: 19.08.2025 - 14:38