Oheinen koodi listaa kansion sisällön, siis kansioita. Miten saan tulostettua tuon niin että kansiot ovat oikeassa järjestyksessä. esim. 2000, 2001, 2002...
eikä 2000, 2002, 2001... kuinka saan nämä oikeaan järjestykseen.
entäs onko tässä tietoturva kohdallaan
<?PHP if (isset($_GET['dir'])) { $dir_name = $GET['dir']; } // oletus hakemisto if(!$dir_name) { $dir_name = date("Y"); } $hakemisto = "./admin/data/picture"; echo "<table>"; if ($handle = opendir("$hakemisto")) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "..." && $file != "index.html" && $file != "private") { echo "\n"; // Muutetaan riviväritykset valkoisesta harmaaseen if($flag == 1) { $bg="#F7F6F4"; $flag = 0; } else { $bg = "#FFFFFF"; $flag = 1; } echo "<tr><td align=\"left\" bgcolor=\"$bg\"><a href=\"$PHP_SELF?action=show&dir=$file&lng=$lang\" target=\"_self\">$file</a></td></tr>"; } } echo "</table></td>"; closedir($handle); } ?>
glob -funktiolla saa ainakin tiedostot (ja kansiot GLOB_ONLYDIR lipulla) luettua taulukkoon, jonka voi sitten järjestää mielensä mukaan.
glob-funktio ei jostain syystä alkanut toimimaan.
Ratkaisin asian näin.
$hakemisto = "./admin/data/picture/"; // show directory content echo "<table>"; if($checkDir = opendir($hakemisto)){ // check all files in $dir, add to array listDir or listFile while($file = readdir($checkDir)){ if($file != "." && $file != ".." && $file != "..." && $file != "index.html" && $file != "private"){ if(is_dir($hakemisto . "/" . $file)){ $listDir[$cDir] = $file; $cDir++; } else{ $listFile[$cFile] = $file; $cFile++; } } } // show directories if(count($listDir) > 0){ sort($listDir); for($j = 0; $j < count($listDir); $j++){ for($l = 0; $l < $i; $l++); // create link if($flag == 1) { $bg="#F7F6F4"; $flag = 0; } else { $bg = "#FFFFFF"; $flag = 1; } $link = "<tr><td align=\"left\" bgcolor=\"$bg\"><a href=\"$PHP_SELF?action=show&dir=$listDir[$j]&lng=$lang\">$listDir[$j]</a></td></tr>"; echo "$link"; } } } echo "</table>"; ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.