Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Pliki tekstowe
XSL
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 31.03.2008

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


Zaczne od opisu problemu.
Mam sporo plikow tekstowych i chcialbym je jakos ladnie wyswietlic na jednej stronie.

Znalazlem taki skrypt:
Kod
<?
   $sciezkadokatalogu = "D:/Arkadia/bib/";
   $f = opendir($sciezkadokatalogu);
   while (false !== ($plikitekstowe = readdir($f)))
   {
     if (eregi(".(txt)$",$plikitekstowe))
       include("$sciezkadokatalogu$plikitekstowe");
   }
   closedir($f);
?>


I tutaj pojawia sie problem.
Skrypt ignoruje znaki konca lini z pliku, przez co tekst jest wyswietlany w postaci wielkiego bloku tekstu. Jak temu zaradzic?

W ogole chcialbym docelowo dodac spis tresci w postaci nazw plikow z hyperlinkiem do pierwszego znaku kazdego z tych plikow. Czy takie cos jest w ogole mozliwe?
Go to the top of the page
+Quote Post
Jarod
post
Post #2





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(XSL @ 31.03.2008, 03:22:10 ) *
I tutaj pojawia sie problem.
Skrypt ignoruje znaki konca lini z pliku, przez co tekst jest wyswietlany w postaci wielkiego bloku tekstu. Jak temu zaradzic?

Może jestem jeszcze śpiący ale czy chodzi Ci o to aby każdy plik był w osobnym wierszu wyświetlany?

Cytat(XSL @ 31.03.2008, 03:22:10 ) *
W ogole chcialbym docelowo dodac spis tresci w postaci nazw plikow z hyperlinkiem do pierwszego znaku kazdego z tych plikow. Czy takie cos jest w ogole mozliwe?

Tak. Zajrzyj do manuala jak listować zawartość katalogu. http://php.net.pl/manual/pl/function.readdir.php
Pierwszą literę uzyskasz przez $file[0]

pzdr


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





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

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


XSL: jak sie w HTMLu zaznacza/przechodzi do nastepnej linii? <BR />em, nie? a \n nie dzialaja, wiec uzyj nl2br()


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Crozin
post
Post #4





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

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


Cytat
W ogole chcialbym docelowo dodac spis tresci w postaci nazw plikow z hyperlinkiem do pierwszego znaku kazdego z tych plikow. Czy takie cos jest w ogole mozliwe?
Wystarczy użyć "kotwic"
Kod
<a href="#abc1">link 1</a>
<a href="#abc2">link 2</a>

<div style="height: 1500px;">odstęp trzeba zrobić;)</div>

<p id="abc1">To jest tekst 1</p>

<div style="height: 1500px;">odstęp trzeba zrobić;)</div>

<p id="abc2">To jest tekst2</p>
Teraz wystarczy, że takie coś zrobisz w soim skrypcie.
Go to the top of the page
+Quote Post
XSL
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 31.03.2008

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


Kod wyglada teraz tak:

Kod
<?php
  $sciezkadokatalogu = "D:/sciezka/dostepu/";

  if ($handle = opendir($sciezkadokatalogu))
  {
    while (false !== ($file = readdir($handle)))
    {
        echo "$file<br>";
    }
    closedir($handle);
  }

  echo "<br><br><br>";

  if ($handle = opendir($sciezkadokatalogu))
  {
    while (false !== ($plikitekstowe = readdir($handle)))
    {
      if (eregi(".(txt)$",$plikitekstowe))
         include("$sciezkadokatalogu$plikitekstowe");
      echo "<br><br><br>";
    }
    closedir($handle);
  }
?>


Ladnie robi listowanie, hyperlinkow jeszcze nie zapinalem, gdyz nadal mam problem z wyswietleniem plikow tekstowych. nl2br() nie przynosi rezultatow, choc mozliwe takze, ze zle go uzywam.

include nl2br("$sciezkadokatalogu$plikitekstowe");

Zatem czy tak sformuowane polecenie ma sens? W man nl2br() uzyte jest w odniesieniu do echo(). Czy moze byc uzyte w odniesieniu do include()? Czy moze lepiej wykorzystac inny sposob wyswietlania plikow?


edit:
Obszedlem problem stosujac takie wyrazenie:

echo nl2br(file_get_contents("$sciezkadokatalogu$plikitekstowe"));

edit2:
Czego kwestia sa znikajace spacje? Da sie to obejsc?

Ten post edytował XSL 1.04.2008, 05:21:49
Go to the top of the page
+Quote Post
nevt
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


zamiast
  1. <?php
  2. echo nl2br(file_get_contents("$sciezkadokatalogu$plikitekstowe"));
  3. ?>

daj
  1. <?php
  2. echo '<textarea readonly="readonly">'.file_get_contents($sciezkadokatalogu.$plikitekstowe).'</textarea>';
  3. ?>

i wszystkie zmiany linii i spacje z pliku zostaną na swoim miejscu...

Ten post edytował nevt 1.04.2008, 07:23:03


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

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
XSL
post
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 31.03.2008

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


Ponownie kod:
Kod
<?php
  echo '<p id="powrot"></p>';
  $sciezkadokatalogu = "D:/sciezka/dostepu/";

  if ($handle = opendir($sciezkadokatalogu))
  {
    while (false !== ($file = readdir($handle)))
    {
      if (($file != '.') AND ($file != '..'))
        echo "$file<br>";
    }
    closedir($handle);
  }


  echo "<br><br><br>";

  if ($handle = opendir($sciezkadokatalogu))
  {
    while (false !== ($plikitekstowe = readdir($handle)))
    {
      if (eregi(".(txt)$",$plikitekstowe))
      {
         echo ("$plikitekstowe<br>");
         echo '<textarea readonly="readonly" cols="82" rows="20">'.file_get_contents($sciezkadokatalogu.$plikitekstowe).'</textarea>';
         echo '</br><a href="#powrot">wroc</a>';
      }
      echo "<br><br><br>";
    }
    closedir($handle);
  }
?>


Robi najpierw liste plikow, a pozniej wyswietla je w polach tekstowych.
Jak powiazac te dwie rzeczy? Chcialbym, by po kliknieciu nazwy pliku na liscie, przeskakiwal do odpowiedniego fragmentu strony.
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 - 20:33