Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skrypt wyswietlania nie dziala na IIS
Forum PHP.pl > Forum > Przedszkole
tomek34
Witam!!!
Używam następujęcego skryptu do wyświetlania zawartości folderu:


  1. <?php
  2.                  $dir = "./test/";
  3.                  function printDir($dir)
  4.                  {
  5.                    $fd = opendir($dir);
  6.                      if(!$fd) return false;
  7.                        while (($file = readdir($fd)) !== false){
  8.                      if($file != "." && $file != ".."){
  9.                      echo("<a href=\"download.php?name=");
  10.                      echo("$file\" class='style3'>$file</a><br />");
  11.                      }
  12.                      }
  13.                      closedir($fd);
  14.                  }
  15.                  printDir($dir);
  16.            ?>


Na serwerze linuksowym działa poprawnie. Na windowsie nie. Czy ktoś wie czemu?
sowiq
Podejrzewam, że nie istnieje katalog './test/'. Przerób linijkę 7. (ta, która w powyższym listingu jest 7.) w swojej funkcji na taką:
  1. <?php
  2. if(!$fd){
  3.  echo 'Błąd. Katalog nie istnieje lub nie mam prawa odczytu.';
  4.  return false;
  5. }
  6. ?>
tomek34
w Windowsie chyba nie moge zmienic praw dostepu do folderu...
katalog istnieje do dziala na linuxie a w identycznym ukladzie na windowsie nie dziala
sowiq
1. Włącz error_reporting na E_ALL i zobacz czy pokazuje jakieś błędy.
2. Wydrukuj sobie wynik działania is_dir" title="Zobacz w manualu PHP" target="_manual podając zadeklarowaną w zmiennej ścieżkę.
3. Sprawdź, czy błąd będzie występował jak usuniesz slach'a z końca ścieżki.
tomek34
Dziękuje bardzo!
To rozwiązało problem.Po włączeniu raportowania błędów okazało się ze windows inaczej definiuje ścieżkę dostępu obecnie skrypt wygląda tak:

  1. <?php
  2.                  $dir = "D:webs\tester\test";
  3.                  function printDir($dir)
  4.                  {
  5.                    $fd = opendir($dir);
  6.                      if(!$fd) return false;
  7.                        while (($file = readdir($fd)) !== false){
  8.                      if($file != "." && $file != ".."){
  9.                      echo("<a href=\"download.php?name=");
  10.                      echo("$file\" class='style3'>$file</a><br />");
  11.                      }
  12.                      }
  13.                      closedir($fd);
  14.                  }
  15.                  printDir($dir);
  16.            ?>



Wszystko śmiga jak trzeba.
Pozdrawiam!
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.