08. august 2005 - 19:27
Der er
3 kommentarer og 1 løsning
Check om en mappe er tom
Jeg har følgende kode: while($filedir=readdir($dir)){ if(!is_dir($mydir.$filedir) ) { if($filedir != null) { $fileshow = "['".$filedir."', '".$mydir.$filedir."'],"; } else { $fileshow .= "['empty', null],"; } fwrite($file, $fileshow); } } closedir($dir); Det jeg her prøver på er at undersøge om den pågældende mappe er tom skrive "empty til skærm" Det virker dog ikke. Nogen ideer?
Annonceindlæg fra Kommando
08. august 2005 - 19:59
#3
Jeg kunne ikke finde php-funktioner der ku det, så jeg lavede bare en lille count: $mydir = ('files'.show_path($folder_id,"/")); $dir=opendir($mydir); $count = 0; while($filedir=readdir($dir)){ if(!is_dir($mydir.$filedir) ) { $fileshow = "['".$filedir."', '".$mydir.$filedir."'],"; $count++; fwrite($file, $fileshow); } } if($count == 0) { $fileshow2 = "['<i>--empty folder--</i>', null],"; fwrite($file, $fileshow2); } closedir($dir);
08. august 2005 - 20:25
#4
Der er ikke noget i vejen med logikken i ovenstående kode, men det kan gøres en smule simplere: $mydir = ('files' . show_path($folder_id, "/")); $dir = opendir($mydir); $fileshow = ""; while ($filedir = readdir($dir)) { if (!is_dir($mydir.$filedir)) { if ($fileshow != "") $fileshow .= ", "; $fileshow .= "['" . $filedir . "', '" . $mydir.$filedir . "']"; } } if ($fileshow == "") $fileshow = "['<i>--empty folder--</i>', null]"; fwrite($file, $fileshow); closedir($dir);