Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> odczytanie pierwszych 12 linii, z pliku
cienki bolek
post 22.07.2005, 13:15:38
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 19.07.2005

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


potrzebuję zrobić tak, żeby program odczytywał 12 pierwszych linii z pliku i wyświetlał je na stronie, oraz aby pozostałe linie (powyżej 12) były wyświetlane w innym miejscu, zrobi mi to ktoś? pliz!
Go to the top of the page
+Quote Post
SongoQ
post 22.07.2005, 13:21:52
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Zaladuj do tablicy i wtedy w petli dasz zakres indeksow.


--------------------
Go to the top of the page
+Quote Post
cienki bolek
post 22.07.2005, 13:28:21
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 19.07.2005

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


tak tak tylko jak? napisz mi kod gotowy, prosze
Go to the top of the page
+Quote Post
nospor
post 22.07.2005, 13:45:13
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




funkcja file($nazwa_pliku) zwraca tablicę, której elemetnami są wiersze pliku. teraz tylko wystraczy wyswietlic pierwse 12 elemntów i po sprawie.
Zrób sam


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mike
post 22.07.2005, 13:47:30
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Za pomocą funkcji file()" title="Zobacz w manualu PHP" target="_manual wczytaj zawartość do tablicy. Na tablicy, którą zwróci file() dwa razy zadziałaj funkcją array_slice()" title="Zobacz w manualu PHP" target="_manual raz wybierając cząść tablicy do indeksu 12, raz powyżej. Za każdym razem dostaniesz tablicę.
Potem wyświetl te dwie tablice używając do tego, na przykład foreach" title="Zobacz w manualu PHP" target="_manual i echo" title="Zobacz w manualu PHP" target="_manual.

Żeby do czegoś dojść trzeba wykazać inicjatywę.
Ludzie nie lubią pisać gotowców.
Go to the top of the page
+Quote Post
cienki bolek
post 22.07.2005, 13:50:16
Post #6





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 19.07.2005

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


aha okej czyli juz sobie poradze
Go to the top of the page
+Quote Post
SongoQ
post 22.07.2005, 13:50:42
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@cienki bolek szuka rozwiazania a nie pomyslow. Pomysl troszeczke smile.gif


--------------------
Go to the top of the page
+Quote Post
cienki bolek
post 22.07.2005, 13:58:18
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 19.07.2005

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


no rozwiazania szukam bo nie umiem php ale nastepnym razem postaram sie sam rozkminic jak cos zrobic


no i zrobilem, ale nie dziala, co jest nie tak?
  1. <?php
  2. $text = file('test.txt');
  3. $text1 = array_slice ($text, 0, 12);
  4. $text2 = array_slice ($text, 12);
  5. foreach($text1 as $linia) {echo &#092;"$linia\"};
  6. echo &#092;"12 linii\";
  7. foreach($text2 as $linia) {echo &#092;"$linia\"};
  8. ?>


Ten post edytował cienki bolek 22.07.2005, 14:18:37
Go to the top of the page
+Quote Post
Spike
post 22.07.2005, 16:42:35
Post #9





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 3.02.2004
Skąd: Tczew

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


  1. <?php
  2. $text = file('test.txt');
  3. $text1 = array_slice ($text, 0, 12);
  4. $text2 = array_slice ($text, 12);
  5. foreach($text1 as $linia) { echo &#092;"$linia\"; }
  6. echo &#092;"12 linii\";
  7. foreach($text2 as $linia) { echo &#092;"$linia\"; }
  8. ?>


Ten post edytował Spike 22.07.2005, 16:42:58
Go to the top of the page
+Quote Post
cienki bolek
post 25.07.2005, 15:05:54
Post #10





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 19.07.2005

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


zrobilem tai plik index.php:
  1. <?php
  2. $go=$_GET['go']; 
  3. switch($go)
  4. {
  5. case &#092;"\": $tytul = aktualnosci; $text = file('aktualnosci.txt'); global $tytul; global $text;
  6. case &#092;"1\": $tytul = aktualnosci; $text = file('aktualnosci.txt'); global $tytul; global $text;
  7. case &#092;"2\": $tytul = about; $text = file('about.txt');
  8. case &#092;"3\": $tytul = bity; $text = file('bity.txt');
  9. case &#092;"4\": $tytul = portfolio; $text = file('portfolio.txt');
  10. case &#092;"5\": $tytul = linki; $text = file('linki.txt');
  11. default: $tytul = aktualnosci; $text = file('aktualnosci.txt');
  12. }
  13. $text1 = array_slice ($text, 0, 24);
  14. $text2 = array_slice ($text, 24);
  15. ?>
  16. <html><head>
  17. <title>..:: www.pjanie.prv.pl :: <?php echo &#092;"$tytul\"; ?> ::..</title>
  18. //html
  19. <?php foreach($text1 as $linia) { echo &#092;"$linia<br>\"; } ?>
  20. //html
  21. <?php foreach($text2 as $linia) { echo &#092;"$linia<br>\"; } ?>
  22. //html
  23. <?php echo &#092;"$tytul\"; ?>
  24. //html


i w tym pliku gdzies tam posrod kodu html ktorego tu^^^^ nie wklejalem jest link np index.php?go=2 i jak klikam na ten link to owszem pojawia sie index.php ale wyswietla sie tresc tak jakby "parametr" (czy jak to sie zwie) byl 1 czyli:
Kod
case "1": $tytul = aktualnosci; $text = file('aktualnosci.txt'); global $tytul; global $text;

albo
Kod
default: $tytul = aktualnosci; $text = file('aktualnosci.txt');

nie jestem pewnien ktore sie wyswietla

co jest nie tak?
Go to the top of the page
+Quote Post
Jabol
post 25.07.2005, 15:22:24
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


file to jedna z najgorszych funkcji, jakie autorzy php zrobili użytkownikom. Dzięki tej funkcji użytkownicy uczą się, że trzeba walić w drzwi aż pękną, a nie pociągnąć za klamkę. Po co ładować cały plik do pamięci, skoro wcale nie jest to potrzebne?
  1. <?php
  2. $go=isset($_GET['go'])?$_GET['go']:NULL;
  3. switch($go)
  4. {
  5. case &#092;"2\": $tytul = \"about\"; $file='about.txt'; break;;
  6. case &#092;"3\": $tytul = \"bity\"; $file='bity.txt'; break;;
  7. case &#092;"4\": $tytul = \"portfolio\"; $file='portfolio.txt'; break;;
  8. case &#092;"5\": $tytul = \"linki\"; $file='linki.txt'; break;;
  9. case NULL:
  10. case &#092;"1\":
  11. default: $tytul = &#092;"aktualnosci\"; $file='aktualnosci.txt'; break;;
  12. }
  13. $fp=fopen($file, &#092;"r\");
  14. for($x=0; $x<12; $x++)
  15. {
  16.  print fgets($fp);
  17.  if(feof($fp)) break; // tak na wszelki wypadek
  18. }
  19. ?> blebleble
  20. <?php
  21. while(!feof($fp)) print fgets($fp);
  22. fclose($fp);
  23. ?>



A co do twojego pytania - każdy case musi być zakończony -> 'break;;'

Ten post edytował Jabol 25.07.2005, 15:35:32
Go to the top of the page
+Quote Post
cienki bolek
post 7.08.2005, 00:53:02
Post #12





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 19.07.2005

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


no dziala elegancko, ale...
chcialbym zamienic jakis ciag znakow z wczytywanego pliku .txt, np. <hr><br> na <hr color="red"> i probowalem preg_replace() i str_replace() ale mi cos nie dzialalo, jak to kurde zrobic?

edit: konkretnie to interesuje mnie zamiana znaku nowej linii na - i kilku innych latwiejszych:P

Ten post edytował cienki bolek 7.08.2005, 01:00:36
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 Wersja Lo-Fi Aktualny czas: 13.06.2025 - 02:45