Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zawartość katalogu
Forum PHP.pl > Forum > Przedszkole
axwell
Witam. Znalazłem kiedyś w internecie prosty skrypt, wyświetlający zawartość katalogu. Przyszedł czas kiedy postanowiłem troche go zmodyfikować ale o tym za chwile.

Oto obecny skrypt:

  1. <?php
  2. $directory = "katalog";
  3. $dir = opendir($directory);
  4. echo "Lista plików:<BR />";
  5.  
  6.  
  7. while($file_name = readdir($dir)) {
  8.  if (($file_name != ".") && ($file_name != "..")) {
  9.  echo "<a href='".$directory."/".$file_name."'>".$file_name."<br> </a>";
  10.  }
  11. }
  12. closedir($dir);
  13. ?>


to wynik skyrptu dla kilku przykładowych plików w katalogu "katalog"

Jak widać wadą jest to, że skrypt wyświetał nazwę pliku. Chciałbym aby nowy skrypt nie wyświetał takiej nazwy. Tzn że plik mógłby się nazywać byle jak, powiedzmy "x0011.php", natomiast pojawiał by sie na stronie jako wiersz w tabeli. Oto przykładowa zawartość tego pliku:

  1. <?php
  2. $tytul = "Tytuł 1";
  3. $ocena = 3;
  4. $tekst = "Tekst do pliku.";
  5. ?>


Pomóżcie mi napisac taki skrypt, nakierujcie mnie co i jak powinienem zrobić. Wspólnymi siłami może damy rade bo sam sobie nie poradze na pewno
Piniek
Cytat
Pomóżcie mi napisac taki skrypt, nakierujcie mnie co i jak powinienem zrobić. Wspólnymi siłami może damy rade bo sam sobie nie poradze na pewno

No z takim podejściem to daleko nie zajdziesz ;p

Ale do rzeczy.

Jeżeli chcesz aby te dane ( $tytuł, $ocena; $tekst; ) były pobierane z każdego wy listowanego pliku to musisz każdy z nich includować. Mniej wiecej tak:
  1. <?php
  2. $directory = "katalog";
  3. $dir = opendir($directory);
  4. echo "Lista plików:<BR /><table>";
  5.  
  6.  
  7. while($file_name = readdir($dir)) {
  8.  if (($file_name != ".") && ($file_name != "..")) {
  9.  include ("katalog/$file_name");
  10.  echo "<tr><td>".$tytu&#322;."</td><td>".$ocena."</td><td>".$tekst."</td></tr>
  11.  }
  12. }
  13. echo "</table>";
  14. closedir($dir);
  15. ?>


Nietestowane ;] ale powinno działać
Maxik
Gdyby przypadkiem nie działało to: include("katalog/".$file_name);
skowron-line
Cytat(Maxik @ 22.07.2008, 22:08:18 ) *
Gdyby przypadkiem nie działało to: include("katalog/".$file_name);

Tzn co nie dziala??
czy nie ma takiego pliku??
http://pl.php.net/manual/pl/function.file-exists.php
Maxik
Są różne serwery i różnie mogą odczytywać. Ja nie piszę, że nie działa.
axwell
Dzieki serdeczne dla Was:) okazało sie to banalnie proste a ja kombinowałem jak koń pod góre. Tu jest zarys mniej wiecej, reszte zrobie sam smile.gif jeszcze raz dzieki

  1. <?php
  2. $directory = "katalog";
  3. $dir = opendir($directory);
  4. echo "Lista plików:<BR />";
  5.  
  6.  
  7. while($file_name = readdir($dir)) {
  8.  if (($file_name != ".") && ($file_name != "..")) {
  9.  include ("$directory/$file_name");
  10.  echo "<a href='".$directory."/".$file_name."'>".$tytul."</a> | <strong>ocena:</strong> $ocena | <strong>opis:</strong> $opis<br> ";
  11.  
  12.  }
  13. }
  14. closedir($dir);
  15. ?>
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.