Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] wyświetlanie listy plików i ich zawartości
Vitoss
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 17.03.2005

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


Troszkę się bawię w PHP i akurat chciałem wyświetlić listę plików (tylko pliki tekstowe) w folderze. W treści zawartość jest pooddzielana separatorem. Chcę wyświetlić tylko pierwszą wartość z każdego pliku. Tak póki co wygląda skrypcik, wyświetla listę plików wraz z odnośnikiem do nich:

  1. <?php
  2. $dir = opendir('pliki');
  3. while(false !== ($file = readdir($dir)))
  4. if($file != '.' && $file != '..')
  5. echo "<a href=\"".$file.".html\">".$file."</a><br/>";
  6. ?>

jak do tego skryptu mogę dodać otwieranie każdego pliku oraz wyświetlenie pierwszego pola do separatora?

tutaj mam również skrypt wyświetlający zawartość poszczególnego pliku:

  1. <?php
  2. $adres = $_GET['adres'];
  3. $file = file("pliki/$adres");
  4. foreach($file as $value) {
  5. $exp = explode("`",$value);
  6. echo $exp[0]."<br />".$exp[2]."<hr />";
  7. }
  8. ?>


Chcę wyświetlić $exp[0] przy spisie plików, jak można to połączyć? Próbowałem na kilka sposobów, ale wyskakują błedy PHP winksmiley.jpg


--------------------
=)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


W pierwszym kodzie, obok (przed lub po, jak wolisz) linijki echo możesz wywołać echo file_get_contents('pliki/'.$file);

Wyjaśnij o co chodzi Ci z tym separatorem.

Ten post edytował l0ud 9.03.2008, 13:02:04


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Vitoss
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 17.03.2005

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


Dzięki za odp, jednak przy file_get_contents wyświetla mi całą treść pliku.
Z separatorem chodzi o to, że w każdym pliku są przechowywane poszczególne dane, przykladowo: tytuł[separator]treść[separator]podpis

Zależy mi teraz na tym, żeby wyciągnąć i wyświetlić tylko pierwszy wpis (tytuł), bez wyświetlania pozostałej treści pliku. Na skrypcie chciałem, żeby wyglądało to tak:

  1. <?php
  2. $dir = opendir('pliki');
  3. while(false !== ($file = readdir($dir)))
  4. if($file != '.' && $file != '..')
  5. echo "<a href=\"".$file.".html\">".$exp[0]."</a><br/>";
  6. ?>

Próbowałem jakby połączyć te dwa skrypty, ale wyświetlał mi tylko treść pliku, do tego całą.


--------------------
=)
Go to the top of the page
+Quote Post
l0ud
post
Post #4





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Czy chodzi Ci o coś w tym stylu?

  1. <?php
  2. $dir = opendir('pliki');
  3. while(false !== ($file = readdir($dir)))
  4. if($file != '.' && $file != '..') {
  5. $exp = explode('`', file_get_contents('pliki/'.$file));
  6. echo "<a href=\"".$file.".html\">".$exp[0]."</a><br/>";
  7. }
  8. }
  9. ?>


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Vitoss
post
Post #5





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 17.03.2005

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


Dzięki, kod wydaje się w porządku i dokładnie to, o co chodziło, tylko nie wiem czemu serwer wyrzuca mi pustą stronę... :|

Jak usunę cały kod php, to strona wyświetla się prawidłowo.


--------------------
=)
Go to the top of the page
+Quote Post
marcio
post
Post #6





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


http://www.egrafik.pl/manual-php-2006/function.scandir.php nie bedzie szybciej??
  1. <?php
  2. $kat = 'pliki/';
  3. $pliki = scandir($kat);
  4. $zawartosc = fread(fopen($kat.$pliki, 'r'), filesize($pliki));
  5. $rozbij = explode('`', $zawartosc);
  6. echo('<a href=\"'.$pliki.'.html\">'.$rozbij[0].'</a><br/>');
  7. ?>

Jednak nie wiem czy onrze robie to tylko idea

P.S nie dalem linku

Ten post edytował marcio 9.03.2008, 14:49:04


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
l0ud
post
Post #7





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


No tak... Kod pisałem od ręki i nie zauważyłem braku jednej klamry:

  1. <?php
  2. $dir = opendir('pliki');
  3. while(false !== ($file = readdir($dir))) {
  4. if($file != '.' && $file != '..') {
  5. $exp = explode('`', file_get_contents('pliki/'.$file));
  6. echo "<a href=\"".$file.".html\">".$exp[0]."</a><br/>";
  7. }
  8. }
  9. ?>


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Vitoss
post
Post #8





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 17.03.2005

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


Cytat(marcio @ 9.03.2008, 14:46:50 ) *
  1. <?php
  2. $kat = 'pliki/';
  3. $pliki = scandir($kat);
  4. $zawartosc = fread(fopen($kat.$pliki, 'r'), filesize($pliki));
  5. $rozbij = explode('`', $zawartosc);
  6. echo('<a href=\"'.$pliki.'.html\">'.$rozbij[0].'</a><br/>');
  7. ?>

wyświetla się jeden, pusty link z odnośnikiem do "Array.html"

l0ud - dzięki, działa! smile.gif

Ten post edytował Vitoss 9.03.2008, 14:57:54


--------------------
=)
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: 21.08.2025 - 01:44