ugrás a tartalomhoz

File számláló

ErikAlpar · 2008. Ápr. 25. (P), 20.48
Az oldalamra kellene egy olyan file szamlalo amely kepes egy bizonyos kiterjesztesu file szamolasara(azt hogy hany van a serveren a mappaban).Tud valaki egy ilyen scriptet vagy valahol a neten.

Koszonom
 
1

Van valami elképzelésed?

s_volenszki · 2008. Ápr. 26. (Szo), 10.11
Hogyan próbáltad?
2

Script

gabesz666 · 2008. Ápr. 26. (Szo), 10.45
<?php

$konyvtarNeve = ".";

if ($handle = opendir($konyvtarNeve)) {

$szamlalo = 0;
$kiterjesztes = ".php";

while (false !== ($file = readdir($handle))) {
if(substr($file, strlen($file)-strlen($kiterjesztes), strlen($file)) == $kiterjesztes) $szamlalo++;
}

echo $szamlalo. "db ilyen kiterjesztésű fájl van a mappában!";
closedir($handle);
}

?>
3

Mi ezzel a baj?

Velias9 · 2008. Ápr. 26. (Szo), 15.31
(Légyszíves legközelebb használd a kódszinezőt!)

Szerintem ez működik:
  1. <?php  
  2.   
  3. $konyvtarNeve = ".";  
  4.   
  5. if ($handle = opendir($konyvtarNeve))  
  6. {  
  7.     $szamlalo = 0;  
  8.     $kiterjesztes = ".php";  
  9.   
  10.     while ($file = readdir($handle))  
  11.     {  
  12.         if (substr($file, (strlen($file)-strlen($kiterjesztes))) == $kiterjesztes)  
  13.         {  
  14.             $szamlalo++;  
  15.         }  
  16.     }  
  17.   
  18.     print($szamlalo . " db ilyen kiterjesztésű fájl van a mappában!");  
  19.   
  20.     closedir($handle);  
  21. }  
  22.   
  23. ?>  
Ez egyébként a te kódod átalakítása.
A 12. sor így is jó:
  1. if (!(strpos($file$kiterjesztes) === false))  
Vagy így (de ebben nem vagyok biztos):
  1. if (strpos($file$kiterjesztes) !== false)  
4

strpos

vbence · 2008. Ápr. 26. (Szo), 15.55
Az átírás akkor lesz igaz, ha tartalmazza a fájlnév a kiterjesztést. Az eredeti csak akkor, ha a végén van.
6

Kiterjesztés

gabesz666 · 2008. Ápr. 26. (Szo), 20.34
A kiterjesztés általában a fájl végén szokott lenni...
7

Ezzel mit akarsz modnani?

vbence · 2008. Ápr. 27. (V), 00.36
Amit én mondani szerttem volna az az, hogy a rövidebbik kifejezés:
  1. strpos($file$kiterjesztes) !== false  
igaz lesz a .phps kiterjesztésű fájloknál is, ha mondjuk .php-re keresel (tehát rossz), amíg a hosszabb változat konkrétan csak a fájlnév végén fogadja el az egyezést (szóval jó).
8

Az lehet...

Velias9 · 2008. Ápr. 29. (K), 17.40
..., hogy a hosszabb kód után lévő két sor nem jó, de az eredeti scriptben:
  1. substr($filestrlen($file)-strlen($kiterjesztes), strlen($file)) == $kiterjesztes  
A harmadik paraméter ökörség, mert az a kiolvasandó karakterek számát jelöli és nem úgy működik, mint a JavaScript-ben a hasonló függvény, ahol ez a paraméter a kiolvasandó karakter indexét jelöli => el kell hagyni!
5

gabesz666

ErikAlpar · 2008. Ápr. 26. (Szo), 19.51
Koszonom szepen!