Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porcjonowanie danych z pliku, problem z podwojnym porcjonowaniem
tommy
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.08.2005

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


Witam, pewnie rozwiazanie jest banalnie proste ale powiem szczerze ze szukalem rozwiazan w internecie i przyladowe tutoriale nie znajdowaly zastosowania w moim problemie...
mam baze danych w pliku gdzie dane zapisane sa w takiej postaci: tytul||tresc||data|#|. Ze wzgledu na to ze tresc moze byc dosc dluga funkcja file() ktora czyta plik linijka po linijce nie pasowala do mojego skryptu. Postanowilem wiec zrobic podwojne filtrowanie danych odczytanych z pliku. Najpierw za pomoca explode wczytuje do tablicy dane poprzedzielane |#| a nastepnie chce jeszcze raz przefiltrowac wynik zeby pozbyc sie || i wyswietlic na stronie 5 pierwszych wpisow. Napisalem taki prosciutki skrypt ale... nic nie wyswietla dlatego prosze o pomoc. Zapewne rozwiazanie jest banalnie proste...

  1. <?php
  2. $fp=fopen("plik.txt", "r");
  3. $contents=fread($fp, filesize("plik.txt"));
  4. $exp1=explode('|#|', $contents);
  5. foreach($exp1 as $val)
  6. {
  7. $exp2=explode('||', $val);
  8. }
  9. for($i=0;$i<4;$i++)
  10. {
  11. echo $exp2[$i].'<br>';
  12. }
  13. ?>


PS zaznaczam ze nie potrzebuje robic linkow generowanych przez php do wczesniejszych wpisow, samo odczytanie 5 pierwszych zupelnie wystarczy.
Dziekuje za pomoc i Pozdrawiam

(IMG:http://forum.php.pl/uwaga.gif)
~mike_mech
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%)
-----


  1. <?php
  2.  
  3. $dane = array();
  4. $dane[] = array(
  5. 'tytul' => 'Poznajemy serialize()',
  6. 'tresc' => 'zajrzyj do manuala',
  7. 'data' => 'dzisiaj'
  8. );
  9. // itd.
  10.  
  11. // zapis do pliku (zapisujesz wszystkie artykuly/newsy/czy co to jest)
  12. file_put_contents( $filename, serialize( $dane ) ); // lub fopen() + fwrite() jak masz php4
  13.  
  14. // odczyt
  15. $inneDane = unserialize( file_getcontents( $filename ) );
  16. $pierwszePiec = array_slice( $inneDane, 0, 5 );
  17. ?>

Wada: zeby odczytac 5 wpisow musisz wczytac caly plik
Zalety: prosto, szybko (nie meczysz sie z explode) i bezpiecznie (nie martwisz sie o escapowanie danych-- a co jak ktos wpisalby do tresci "|#"?)
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: 3.10.2025 - 10:20