Autor | Zpráva | ||
---|---|---|---|
pli Profil * |
#1 · Zasláno: 23. 11. 2008, 21:51:50
Prosím Vás o radu,
jak mohu zjistit prázdný adresář? A v případě, že je prázdný, vykonat nějakou akci, hlášku, apod.... tohle mi nefunguje dobre: if ($handle=opendir('./data/tentoadresarzkontroluj)) { while ($file = readdir($handle)) $polozky[count($polozky)] = $file; if (!$polozky[count($polozky)] <> 0) echo "je prazdny"; closedir($handle); sort($polozky); } děkuji |
||
Měsíček Profil |
Mrkni na příklady dole http://cz.php.net/is_dir
|
||
pli Profil * |
Měsíčku, děkuji.
|
||
Měsíček Profil |
#4 · Zasláno: 23. 11. 2008, 21:59:39 · Upravil/a: Měsíček
Tohleto je IMHO docela pěkné řešení:
<?php function is_dir_empty ($dir_name) { return (($files = @scandir($dir_name)) && count($files) <=2) ? "Ano" : "Ne"; } echo "Je složka prázdná? :".is_dir_empty("dir"); ?> Použití funkce is_dir_empty(); je jednoduché jako argument vložíš název složky .. jestliže je prázdná vrátí "Ano" jestliže v ní něco je vrátí "Ne". |
||
Měsíček Profil |
#5 · Zasláno: 23. 11. 2008, 22:02:37 · Upravil/a: Měsíček
Jo a ještě jsem zapomněl:
if (is_dir_empty("dir") == "Ano") { // Něco vykonej .. } |
||
pli Profil * |
#6 · Zasláno: 23. 11. 2008, 22:32:04
Měsíčku, nějak mi to nefunguje, výraz echo count($files); pořád vypisuje 0......
zkouším taky tady : count($files) <=1 dávat různé čísla, aby se výpis echo "je v nem neco"; ukázal, když je v adresáři jeden a méně souborů...a nejde to, prosím o pomoc <?php $dir_name = "./$adrjedna/data/$adr2/"; function is_dir_empty ($dir_name) { return (($files = @scandir($dir_name)) && count($files) <=1) ? "Ano" : "Ne"; } echo "Je složka prázdná? :".is_dir_empty("dir"); echo count($files); if (is_dir_empty("dir") == "Ano") { echo "Prázdný adresář"; } ?> |
||
BetaCam Profil |
#7 · Zasláno: 24. 11. 2008, 05:44:38
Měsíček
„jestliže je prázdná vrátí "Ano" jestliže v ní něco je vrátí "Ne".“ Tak to mi nepřijde zrovna ideální. Jako návratové hodnoty z takovíchto funkcí by se měly používat boolean hodnoty. „ if (is_dir_empty("dir") == "Ano") Úplně to vidim jak by tu podmínku dříve nebo později postavil takto : if(is_dir_empty("dir")) A pak by se divil proč mu to uplně u všecho hlásí, že ten adresář je prázdný. pli Přenastav návratové hodnoty třeba takto : function is_dir_empty($dir_name) { if (is_dir($dir_name)) { return (($files = scandir($dir_name)) && count($files) <=2) ? TRUE : FALSE; }else{ return NULL; } } „ echo count($files); Je blbost. Si mimo obor platnosti. |
||
Měsíček Profil |
#8 · Zasláno: 24. 11. 2008, 07:53:08
"Měsíčku, nějak mi to nefunguje, výraz echo count($files); pořád vypisuje 0......
zkouším taky tady : count($files) <=1 dávat různé čísla, aby se výpis echo "je v nem neco"; ukázal, když je v adresáři jeden a méně souborů...a nejde to, prosím o pomoc " Tu dvojku tam nechej .. je tam pro "." a ".." |
||
Časová prodleva: 15 let
|
0