Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wczytywanie danych z pliku.
Forum PHP.pl > Forum > PHP
Zedd
Witam.

Mam prostu kod ktory wczytuje mi dane z pliku.
CODE
$name = 'blabla.txt';
$handle = fopen($name, 'r');
$text = fread($handle, filesize($name));
$lines = explode("|", "$text");
foreach ($lines as $line_num => $line) {
$sublines = explode(",", "$line");
foreach ($sublines as $subline_num => $subline) {
echo "---Podlinia #{$subline_num} : " . htmlspecialchars($subline) . "
\n";
}
}
?>


Jest niedopracowany, co zrobie pozniej, ale problem polega na tym z plik jest zbudowany tak, ze na zmiane znajduja sie w nim kategorie i opisy:

kategoria1|
opis1|
kategoria2|
opis2| itd.

Ten kod wyswietla wszystko linia pod linia, tak jak jest to w pliku(mniej wiecej).
A calosc potrzebuje wyswietlic w dwoch kolumnach na stronie, w lewej kategorie, w prawej opisy. Czy da sie w jakis sposob napisac kod ktory bedzie odczytywal plik i w odpowiedni sposob ukladaj go na stronie? Do glowy przychodzi mi odczytywanie najpierw parzystych a pozniej nieparzystych linii, albo dwoch zmiennych naraz, czy jest to mozliwe?

Z gory dziekuje za odpowiedz.

Z gory dziekuje za pomoc.
nowotny
A ja nie wiem po co się tak bawisz...
  1. <?php
  2. $name = 'blabla.txt';
  3. $lines = file($name);
  4. $i=1;
  5. foreach ($lines as $line) {
  6. echo $line.' ';
  7. if (($i % 2)==0) echo '<br>';
  8. $i++;
  9. }
  10. ?>

Nie rozumiem po co na końcu każdej lini wstawiasz pionową kreskę... coś tam będzie za nią później...?
Nie możesz zrobić pliku tak:

kategoria1|opis1
kategoria2|opis2
...?
em1X
Tak chyba lepiej ? I nie trzeba obliczać modulo.

  1. <?php
  2. $name = 'blabla.txt';
  3. $lines = file($name);
  4.  
  5. for ($i = 0; $i<count($lines); $i += 2)
  6. {
  7.  $linia =& $lines[$i];
  8.  
  9.  // to jest Twoja co druga linia
  10.  print $linia . '<br />';
  11. }
  12. ?>
nowotny
Cytat(em1X @ 8.02.2008, 13:38:16 ) *
  1. <?php
  2.  // to jest Twoja co druga linia
  3.  print $linia . '<br />';
  4. ?>

Z tym że on chce obie linie... jedna obok drugiej... a nie co drugą linię...
em1X
zwracam honor, przeczytałem na szybko, że chce co drugą linię wstydnis.gif
Zedd
Dzieki nowotny, troche chaotycznie to opisalem, ale mam juz to o co mi chodzilo. Jakby ktos sie tym interesowal kod wyglada tak:
CODE

<?php
$name = 'blablabla.txt';
$lines = file($name);
foreach ($lines as $line) {
$data = explode("|", "$line");
echo $data[0].' - ';
echo $data[1].'.';
}
?>


a sam plik ma postac:

nazwa1|opis1
nazwa2|opis2  itd.

I to ladnie mi wyswietla nazwe obok opisu na stronie i przechodzi do drugiej linii, a musze miec to w roznych zmiennych zeby miec dwa echa ktore beda roznie formatowane... Chyba ze da sie to zrobic jeszcze prosciej ale skoro to juz to robi to jest git ^^ Dzieki jeszcze raz wszystkim.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.