Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Ilość plików w paru folderach
Forum PHP.pl > Forum > Przedszkole
ChowiX
Witam ! smile.gif

Mam pytanie, mam skrypt ktory oblicza ilosc plikow w danym folderze na ftp
oto on
  1. <?php 
  2.  
  3. $katalog='./images'; 
  4. $kat=opendir($katalog); 
  5. $ile=0; 
  6.  
  7. while($plik=readdir($kat))
  8. { 
  9. $ile++; 
  10. } 
  11.  
  12. $ileplikow = $ile - 2; 
  13.  
  14. echo($ileplikow); 
  15.  
  16. ?>

i chcialbym go jakos przerobic aby pokazywal ilosc plikow nie w 1 folderze a w 4
czy dało by się jakoś to zrobić

Pozdrawiam Dawid

[+] edit
Pamiętaj następnym razem dodać tag.
---
~strife
uli
Nie kumam, bo jaki to problem? ohmy.gif

  1. <?php
  2. function ile_plikow($katalog) 
  3. {
  4. $katalog='./images'; 
  5. $kat=opendir($katalog); 
  6. $ile=0; 
  7.  
  8. while($plik=readdir($kat))
  9. { 
  10. $ile++; 
  11. } 
  12.  
  13. $ileplikow = $ile - 2; 
  14.  
  15. return $ileplikow;
  16. }
  17.  
  18. $suma = 0;
  19.  
  20. $katalog = './images';
  21. $suma = ile_plikow($katalog);
  22. $katalog = './2_katalog';
  23. $suma = $suma + ile_plikow($katalog);
  24. $katalog = './3_katalog';
  25. $suma = $suma + ile_plikow($katalog);
  26. $katalog = './4_katalog';
  27. $suma = $suma + ile_plikow($katalog);
  28.  
  29. echo $suma;
  30. ?>
ChowiX
błąd..
  1. <?php
  2. function ileplikow($katalog){
  3. $katalog='./download/p'; 
  4. $kat=opendir($katalog); 
  5. $ile=0; 
  6.  
  7. while($plik=readdir($kat))
  8. { 
  9.   $ile++; 
  10. } 
  11.  
  12. $ileplikow = $ile - 2; 
  13.  
  14. return $ileplikow;
  15. }
  16.  
  17. $suma = 0;
  18. $katalog = './download/d';
  19. $suma = $suma + ileplikow($katalog);
  20. $katalog = './download/t';
  21. $suma = $suma + ileplikow($katalog);
  22.  
  23. echo $suma;
  24. ?>

Pokazuje mi taki błąd Parse error: syntax error, unexpected T_STRING in /home.2/p/o/r/portalgi/www/index.php on line 195

195 linijka
  1. <?php
  2. function ileplikow($katalog){
  3. ?>


Pomoże mi ktoś ? :/
uli
Brakuje Ci średnika, zakończenia linii itp. w liniach powyżej linii 195...

Aha - pisałem z palca i oczywiście linia:
  1. <?php
  2. $katalog='./download/p';
  3. ?>


Zaraz po deklaracji funkcji jest do usunięcia.

Pokaż cały kod.
ChowiX
  1. <?php
  2. function ileplikow($katalog){
  3. $katalog='./download/p'; 
  4. $kat=opendir($katalog); 
  5. $ile=0; 
  6.  
  7. while($plik=readdir($kat))
  8. { 
  9.   $ile++; 
  10. } 
  11.  
  12. $ileplikow = $ile - 2; 
  13.  
  14. return $ileplikow;
  15. }
  16.  
  17. $suma = 0;
  18. $katalog = './download/d';
  19. $suma = $suma + ileplikow($katalog);
  20. $katalog = './download/t';
  21. $suma = $suma + ileplikow($katalog);
  22.  
  23. echo $suma;
  24. ?>

To odczytuje z 3 folderów. Ino cos nie chce tongue.gif
uli
Cytat(ChowiX @ 2.07.2007, 16:10:55 ) *
  1. <?php
  2. function ileplikow($katalog){
  3. $katalog='./download/p'; 
  4. $kat=opendir($katalog); 
  5. $ile=0; 
  6.  
  7. while($plik=readdir($kat))
  8. { 
  9. $ile++; 
  10. } 
  11.  
  12. $ileplikow = $ile - 2; 
  13.  
  14. return $ileplikow;
  15. }
  16.  
  17. $suma = 0;
  18. $katalog = './download/d';
  19. $suma = $suma + ileplikow($katalog);
  20. $katalog = './download/t';
  21. $suma = $suma + ileplikow($katalog);
  22.  
  23. echo $suma;
  24. ?>

To odczytuje z 3 folderów. Ino cos nie chce tongue.gif


Pewno że nie chce smile.gif Sumuje 3x z katalogu 'download/p' biggrin.gif

Mówiłem wywalić po function linijkę z $katalog.... smile.gif

  1. <?php
  2. function ileplikow($katalog){
  3. $kat=opendir($katalog); 
  4. $ile=0; 
  5.  
  6. while($plik=readdir($kat))
  7. { 
  8. $ile++; 
  9. } 
  10.  
  11. $ileplikow = $ile - 2; 
  12.  
  13. return $ileplikow;
  14. }
  15.  
  16. $suma = 0;
  17. $katalog = './download/p';
  18. $suma = $suma + ileplikow($katalog);
  19. $katalog = './download/d';
  20. $suma = $suma + ileplikow($katalog);
  21. $katalog = './download/t';
  22. $suma = $suma + ileplikow($katalog);
  23.  
  24. echo $suma;
  25. ?>
ChowiX
zobacz http://www.portalgier.info/ błąd na lini 209

linia 209 to
  1. <?php
  2.                             function ileplikow($katalog){
  3. ?>

tego kodu co mi podałeś
uli
Daj Cały kod. Cały plik - błąd masz gdzieś powyżej.
ChowiX
  1. <table width="100%">
  2. <form action="/mail/index.php" method="post" name="add1" target="_blank">
  3. <input type="hidden" name="action1" value="joined">
  4. <TR>
  5. <TD noWrap align="left"><span class="text13">Nick: </span></TD>
  6. <TD align="left">
  7. <INPUT class="field1" onfocus="if(this.value=='Pole Wymagane !')this.value=''" onblur="if(this.value=='')this.value='Pole Wymagane !'" name="username1" size="15"></TD></TR>
  8. <TR>
  9. <TD noWrap align="left"><span class="text13">Hasło: </span></TD>
  10. <TD align="left">
  11. <INPUT class="field1" onfocus="if(this.value=='Pole Wymagane !')this.value=''" onblur="if(this.value=='')this.value='Pole Wymagane !'" name="password1" size="15"></TD></TR>
  12. <TR>
  13. <TD noWrap align="left"><span class="text13">Twoje Imię: </span></TD>
  14. <TD align="left">
  15. <INPUT class="field1" onfocus="if(this.value=='Pole Wymagane !')this.value=''" onblur="if(this.value=='')this.value='Pole Wymagane !'" name="name1" size="15"></TD></TR>
  16. <TR>
  17. <TD noWrap align="left"><span class="text13">Email: </span></TD>
  18. <TD align="left">
  19. <INPUT class="field1" onfocus="if(this.value=='Pole Wymagane !')this.value=''" onblur="if(this.value=='')this.value='Pole Wymagane !'" name="email1" size="15"></TD></TR>
  20. <TR>
  21. <TD align="center" colspan=2>
  22. <INPUT type="submit" value="Zatwierdź" name="B3" class="button"></TD></TR>
  23. </FORM>
  24.  
  25. </td>
  26. </tr>
  27.  
  28. </table>
  29.  
  30. <p></p>
  31. <table width="100%" height="30">
  32. <tr>
  33. <td class="menu_leweg" bgcolor="#FFFFFF">&nbsp;Statystyki</td>
  34. </tr>
  35. <tr>
  36. <td class="google">
  37. &nbsp;Plików w download :
  38. <?php
  39.                             function ileplikow($katalog){
  40.                             $kat=opendir($katalog)
  41.                             $ile=0
  42.                             
  43.                             while($plik=readdir($kat))
  44.                             { 
  45.                               $ile++; 
  46.                             } 
  47.                             
  48.                             $ileplikow = $ile - 2
  49.                             
  50.                             return $ileplikow;
  51.                             }
  52.                             
  53.                             $suma = 0;
  54.                             $katalog = './download/p';
  55.                             $suma = $suma + ileplikow($katalog);
  56.                             $katalog = './download/d';
  57.                             $suma = $suma + ileplikow($katalog);
  58.                             $katalog = './download/t';
  59.                             $suma = $suma + ileplikow($katalog);
  60.                             
  61.                             echo $suma;
  62.                             ?> <br>


to jest to co powyzej kodu

a to co poniżej
  1.                             echo $suma;
  2.                             ?> <br>
  3. &nbsp;* Pełne wersje gier :
  4. <br>
  5. &nbsp;* Demo : <br>
  6. &nbsp;* Trial : <br>
  7. &nbsp;* Online : <br>
  8. &nbsp;Gości On Line : </td>
  9. </tr>
  10.  
  11. </table>
  12.  
  13. </td>
  14. <td width="50%" valign="top">
  15. <table width="100%" height="30">
  16. <tr>
  17. <td class="menu_leweg" bgcolor="#FFFFFF">&nbsp;News</td>
  18. </tr>
  19. <tr>
  20. <td class="boxy">
  21. <?
  22. $newspath = "xxx";
  23. include("$newspath/show.php");
  24. ?>
  25. </td>
  26. </tr>
  27.  
  28. </table>
  29.  
  30. </td>
  31. </tr>
  32. </table>


Wyżej nie uzywam php ... tylko news sonda i własnie ta ilość plików w folderze.

Zrobiłem pusty plik dałem do niego kod
  1. <?php
  2.                             function ileplikow($ileplikow){
  3.                             $kat=opendir($katalog); 
  4.                             $ile=0; 
  5.                             
  6.                             while($plik=readdir($kat))
  7.                             { 
  8.                               $ile++; 
  9.                             } 
  10.                             
  11.                             $ileplikow = $ile - 2; 
  12.                             
  13.                             return $ileplikow;
  14.                             }
  15.                             
  16.                             $suma = 0;
  17.                             $katalog = './download/p';
  18.                             $suma = $suma + ileplikow($ileplikow);
  19.                             $katalog = './download/d';
  20.                             $suma = $suma + ileplikow($ileplikow);
  21.                             $katalog = './download/t';
  22.                             $suma = $suma + ileplikow($ileplikow);
  23.                             
  24.                             echo $suma;
  25. ?>

wrzucilem na ftp
www.portalgier.info/sprawdz.php
uli
Wrzuć linię 194:

  1. &nbsp;Plików w download :



W linię:

  1. <?php
  2. echo "&nbsp;Plików w download : $suma";
  3. ?>
ChowiX
  1. <td class="google">
  2. <?php echo "&nbsp;Plików w download : $suma";?>
  3. <?php
  4.                             function ileplikow($ileplikow){
  5.                             $kat=opendir($katalog)
  6.                             $ile=0
  7.                             
  8.                             while($plik=readdir($kat))
  9.                             { 
  10.                               $ile++; 
  11.                             } 
  12.                             
  13.                             $ileplikow = $ile - 2
  14.                             
  15.                             return $ileplikow;
  16.                             }
  17.                             
  18.                             $suma = 0;
  19.                             $katalog = './download/p';
  20.                             $suma = $suma + ileplikow($ileplikow);
  21.                             $katalog = './download/d';
  22.                             $suma = $suma + ileplikow($ileplikow);
  23.                             $katalog = './download/t';
  24.                             $suma = $suma + ileplikow($ileplikow);
  25.                             
  26.                             echo $suma;
  27.                             ?> <br>
  28. &nbsp;* Pełne wersje gier :
  29. <br>
  30. &nbsp;* Demo : 0<br>
  31. &nbsp;* Trial : 0<br>
  32. &nbsp;* Online : 0<br>
  33. &nbsp;Gości On Line : Niedostępne</td>
  34. </tr>
  35.  
  36. </table>


Nadal błąd tam gdzie wtedy..
  1. <?php
  2. function ileplikow($ileplikow){
  3. ?>
strife
Spróbuj użyć mojej funkcji smile.gif

  1. <?php
  2. /**
  3.  * @author strife <strife.pl>
  4.  * @param directories Katalog lub katalogi w ktorych liczy pliki
  5.  */
  6. function countFiles($directories)
  7. {
  8. if ( is_array( $directories ) ) {
  9.  
  10. $sumDir = NULL;
  11.  
  12. foreach( $directories as $v ) {
  13. $dir = scandir($v);
  14. $sumDir += count($dir) - 2;
  15. } 
  16. return ($sumDir);
  17.  
  18. } else {
  19. $dir = scandir($directories);
  20. return count($dir) - 2;
  21. }
  22. }
  23.  
  24. // gdy uzywamy tablic
  25.  
  26. $directories = array('a', 'c');
  27. echo '<p>Liczba plikow w katalogach a i b wynosi: <b>' . countFiles($directories) . '</b></p>';
  28.  
  29. // albo bez tablicy
  30.  
  31. $dirA = 'b';
  32. $sumaA = countFiles($dirA);
  33.  
  34. $dirB = 'c';
  35. $sumaB = countFiles($dirB);
  36.  
  37. echo '<p>Liczba plikow w katalogach b i c wynosi: <b>' . ( $sumaA + $sumaB ) . '</b></p>';
  38.  
  39. ?>
ChowiX
mam błąd
  1. <?php
  2. function countFiles($directories)
  3. { <- tutaj b&#322;ąd       
  4. ?>


kod wyglada tak
  1. <?php
  2.  
  3. function countFiles($directories)
  4. {
  5.     if ( is_array( $directories ) ) {
  6.                 
  7.         $sumDir = NULL;        
  8.         
  9.         foreach( $directories as $v ) {
  10.             $dir = scandir($v);                        
  11.             $sumDir += count($dir) - 2;            
  12.         } 
  13.         return ($sumDir);
  14.         
  15.     } else {        
  16.         $dir = scandir($directories);        
  17.         return count($dir) - 2;
  18.     }
  19. }
  20.  
  21. $dirA  = '/download/p';
  22. $sumaA = countFiles($dirA);
  23.  
  24. $dirB  = '/download/d';
  25. $sumaB = countFiles($dirB);
  26.  
  27. $dirC  = '/download/t';
  28. $sumaC = countFiles($dirC);
  29.  
  30. $dirD  = '/download/o';
  31. $sumaD = countFiles($dirD);
  32.  
  33.  
  34. echo '&nbsp;Plików w download : <b>' . ( $sumaA + $sumaB + $sumaC + sumaD) . '</b><br>';
  35. echo '&nbsp;* Pełne wersje gier : <b>' . ( $sumaA ) . '</b><br>';
  36. echo '&nbsp;* Demo : <b>' . ( $sumaB ) . '</b><br>';
  37. echo '&nbsp;* Trial : <b>' . ( $sumaC ) . '</b><br>';
  38. echo '&nbsp;* Online : <b>' . ( $sumaD ) . '</b><br>';
  39.  
  40. ?>


-----------------

EDIT


Wiecie co chyba cos jest z serwerem bo zadne skrypty nie działają sad.gif musze napisac do ovh bo naprawde chajna chyta :/ !

Dziękuje za pomoc exclamation.gif

Okazało się ze nie miałem PHP 5 !

Dziękuje wszystkim za pomoc !

Pozdrawiam i topic do zamknięcia !
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.