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.