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:

<?php

$konyvtarNeve = ".";

if ($handle = opendir($konyvtarNeve))
{
	$szamlalo = 0;
	$kiterjesztes = ".php";

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

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

	closedir($handle);
}

?>
Ez egyébként a te kódod átalakítása.
A 12. sor így is jó:

		if (!(strpos($file, $kiterjesztes) === false))
Vagy így (de ebben nem vagyok biztos):

		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:

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:

substr($file, strlen($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!