Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: kansiot oikean järjestykseen

lahtis [02.03.2006 20:50:42]

#

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&amp;dir=$file&amp;lng=$lang\" target=\"_self\">$file</a></td></tr>";


}
}
echo "</table></td>";
closedir($handle);
}

?>

LazyJones [02.03.2006 21:55:20]

#

glob -funktiolla saa ainakin tiedostot (ja kansiot GLOB_ONLYDIR lipulla) luettua taulukkoon, jonka voi sitten järjestää mielensä mukaan.

lahtis [02.03.2006 22:49:08]

#

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&amp;dir=$listDir[$j]&amp;lng=$lang\">$listDir[$j]</a></td></tr>";

                   echo "$link";
  }
}
}
 echo "</table>";
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta