Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt wyszukiwania i wyślietlania plików tekstowych
Forum PHP.pl > Forum > PHP
hawk55
Witam,
otóż napisałem taki skrypt:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title>Panel wyświetlania artykułów</title>
  5. <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  6. </head>
  7.  
  8. <body bgcolor="lavender">
  9.  
  10. <?php
  11.  
  12. if($dir = opendir("files")) {
  13. while (($file = readdir($dir)) !== false) {
  14. echo "<a href=\"http://www.quot22.cal.pl/artykuly/files/$file\">$file</a>";
  15. }
  16. closedir($dir);
  17. }
  18. //przeszukuje i wyświetla linki
  19.  
  20. $filename = "http://www.quot22.cal.pl/artykuly/files/$file";
  21. $fh = fopen($filename, 'r');
  22.  
  23. while(!feof($fh)){
  24. $download = fgets($fh);
  25. print $download;
  26.  
  27. //powinien wyświetlać zawartość plików znalezionych na początku
  28. }
  29. fclose($fh);
  30. ?>
  31.  
  32.  
  33. </body>
  34. </html>


Ma on za zadanie znaleźć pliki w folderze files a następnie wyświetlić je na stronie. Na razie w files znajduje się jeden plik. Bardzo proszę o sprawdzenie tego skryptu, wskazanie błędu i jeśli to możliwe wyjaśnienie jak go naprawić. Bo jak na razie to wywala błędy: http://quot22.cal.pl/artykuly/plik.php
Chciałbym też zapytać czy ten sktypt nada się, wtedy, kiedy w folderze files będzie więcej niż 1 plik?
Pozdrawiam
MateuszS
nie nada się gdy będzie więcej niż jeden plik, wtedy while wykona się więcej razy a $file się nadpisze, nic wtedy nie wyświetli i wywali błędy jak teraz. Radzę przemyśleć jeszcze raz wszystko. Poza tym nie jestem pewny czy można otwierać plik z adresu ;P
hawk55
A czy mógłby mi ktoś pomóc zmodyfikować ten skrypt żeby wyświetlał wszystkie pliki z katalogu?
marcio
Po pierwsze uzyj glob() wtedy nie bedziesz musial uzywac 3 funckji i petli while.

Dwa to mozesz otowrzyc kazdy plik i zapisac jego zawartosci do tablicy tzn:

-Pobierasz pliki za pomoca glob().

-Robisz foreach() na znalezione pliki poprzez funkcje glob()

-Po czym otwierasz plik ale nie do zmiennej tylko do tablicy.

  1.  
  2. foreach($files as $file)
  3.  
  4.   $open[$file] = fopen($file, 'r');
  5.  
  6.   //itp dla reszty funkcji
  7.  


jedyne co mi przychodzi do glowy.

MateuszS
Ten skrypt nawet nie chcę się zagłębiać, bo tu trzeba nowy napisać a nie przerabiać. ;p

  1. $sciezka=dirname(__FILE__);
  2. $otworz=opendir($sciezka);
  3. while($plik=readdir($otworz)) {
  4. if($plik!='..' and $plik!='.') {
  5. echo $plik.'<br />';
  6. }
  7. }
  8.  


sprawdz czy dziala bo mi sie nie chcialo ;p
skrypt wyswietla all z katalogu pliki
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.