Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] nie działa zmienna $i odpowiadająca
Forum PHP.pl > Forum > Przedszkole
miedzna
Mam taki kod generujący listę plików w folderze, ale za nic nie działa mi zmienna $i, która miała generować Lp w tablicy:

  1. <?php
  2. $directory="1";
  3. $file_list="";
  4.  
  5. if($directory != ""){
  6. $directory.="/";
  7. }
  8.  
  9. if(is_dir($directory) && $dir = opendir($directory)){
  10.  
  11. $i = 0;
  12.  
  13. while($file_name=readdir($dir))
  14.  
  15. $i++;
  16.  
  17. if($file_name != "." && $file_name != ".." && !is_dir($file_name)){
  18.  $file_size = filesize($directory.$file_name);
  19.  $file_list.="t<tr>ntt<td>$i</td><td>".
  20.  "<a href="".$directory.$file_name."">".$file_name."</a></td>ntt".
  21.  "<td><p>".(round($file_size/1000,1))." kB</p></td>ntt".
  22.  "n";
  23. }
  24.  closedir($dir);
  25.  
  26.  if($file_list!=""){
  27. echo "<table border="1" cellspacing=1 width="100%">n";
  28. echo "<tr><td>lp</td><td>plik</td><td>wielkość</td></tr>";
  29. echo $file_list."</table>";
  30.  }
  31.  else{
  32. echo"Wybrany folder nie zawiera plików.";
  33.  }
  34. }
  35. else{
  36.  echo"Wybrany folder nie istnieje.";
  37. }
  38. ?>


Gdzie jest błąd?
nospor
Cytat
, ale za nic nie działa mi zmienna $i
"uwielbiam" takie teksty.... w jakim sensie ci nei dziala? wyswietla ci sie milion razy 0?

Jak na moj gust to ci ten skrypt nie dziala, gdyz ty robisz closedir($dir); wewnątrz petli po ktorej przelatujesz przez $dir. ale to kolego nie wina $i tylko przedwczesnego zamykania katalogu.

z takimi topicami to nie na gotowe skrypty. przenosze
miedzna
Cytat(nospor @ 17.11.2006, 12:48:56 ) *
"uwielbiam" takie teksty.... w jakim sensie ci nei dziala? wyswietla ci sie milion razy 0?

Jak na moj gust to ci ten skrypt nie dziala, gdyz ty robisz closedir($dir); wewnątrz petli po ktorej przelatujesz przez $dir. ale to kolego nie wina $i tylko przedwczesnego zamykania katalogu.

z takimi topicami to nie na gotowe skrypty. przenosze


Nie działa, to oznacza, że wyświetla tylko 1 wiersz tabeli, a powinno wyświetlić ponad 300.
Przeniosłem zamykanie katalogu na koniec i dalej nic sad.gif
nospor
Cytat
Nie działa, to oznacza, że wyświetla tylko 1 wiersz tabeli,
no wlasnie dlatego, ze zaraz na samym poczatku zamykasz katalog.

Cytat
Przeniosłem zamykanie katalogu na koniec i dalej nic
Na koniec czego? na koniec petli czy pozat petle? bo to tez wielka roznica. pokaz caly kod po zmianach i pamietaj, ze closedir ma byc poza petla

edit: hehe, no i oczywiscie dr_bonzo ma racje, ze czytanie katalogu ogranicza sie tylko do zwiekszania $i smile.gif, hihi, nawet przez mysl mi nie przeszlo by na taki banal { patrzec
dr_bonzo
No masakra -- takie sa skutki nieczytelnego pisania

Powiedz mi co ta petla robi:
  1. <?php
  2. while($file_name=readdir($dir))
  3.  
  4. $i++;
  5. ?>
?


Zawsze, nie...., ZAWSZE uzywaj klamr dla petli, ifow, elsow , itp.exclamation.gif! czemu? spojrz na swoj kod i go popraw zgodnie z ta zasada
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.