Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Kansioiden järjestäminen aikajärjestykseen

Damiqib [31.05.2006 20:19:16]

#

Olen tällaisen räpellyksen saanut aikaiseksi, mutta eteenpäin en tunnu pääsevän.

Funktio hakee kansiosta "$HTC_polkuAlbumit" kaikki kansiot ja tekee niistä taulukon. Se toimii hienosti.

Tarkoitus olisi lajitella albumit uusimmasta vanhimpaan ja taulukon pitäisi palauttaa vain albumien nimet (nyt palauttaa myös muokkausajat). Kertokaa kokeneemmat mihin suuntaan tässä pitäisi ajatusta kehittää?

function galleriaHaeAlbumit()
{
  global $HTC_polkuAlbumit;

  global $galleriaAlbumit;

  $galleriaHaeAlbumitKansio = opendir($HTC_polkuAlbumit);

  while(($galleriaAlbumi = readdir($galleriaHaeAlbumitKansio)) !== false)
  {
    if(is_dir($HTC_polkuAlbumit.$galleriaAlbumi))
    {
      if($galleriaAlbumi != "." && $galleriaAlbumi != "..") //Windows-palvelinta varten
      {
        $muokattu = filemtime($HTC_polkuAlbumit.$galleriaAlbumi);
        $galleriaAlbumit[] = array($muokattu, $galleriaAlbumi);
      }
    }
  }
  closedir($galleriaHaeAlbumitKansio);

  asort($galleriaAlbumit);
  return $galleriaAlbumit;
}

sooda [31.05.2006 20:44:18]

#

janne-t kirjoitti:

$muokattu = filemtime($HTC_polkuAlbumit.$galleriaAlbumi);
$galleriaAlbumit[] = array($muokattu, $galleriaAlbumi);

Mitäs luulisit, mitä pitäis tehdä jotta lähtis muokkausajat palautusarvosta?

Damiqib [31.05.2006 21:04:28]

#

Johan pomppas. Tietysti se muokkausaika poistuu, jos sen tuosta poistan, mutta taas ilman tuota sorttaus ajan mukaan ei onnistu. Tarkoitus oli siis saada järjestettyä nuo aikajärjestykseen.

Antti Laaksonen [31.05.2006 21:17:44]

#

Poista muokkausajat taulukosta ennen return-riviä. Silloin järjestely menee oikein.

Damiqib [31.05.2006 21:53:50]

#

En onnistunut löytämään tuota taulukosta poistamista tuossa muodossa, mutta keksinpä sitä kautta tällaisen ratkaisun. :D So proud of myself!

function galleriaHaeAlbumit()
{
  global $HTC_polkuAlbumit;

  global $galleriaAlbumit;

  $galleriaHaeAlbumitKansio = opendir($HTC_polkuAlbumit);

  while(($galleriaAlbumi = readdir($galleriaHaeAlbumitKansio)) !== false)
  {
    if(is_dir($HTC_polkuAlbumit.$galleriaAlbumi))
    {
      if($galleriaAlbumi != "." && $galleriaAlbumi != "..") //Windows-palvelinta varten
      {
        $muokattu = filemtime($HTC_polkuAlbumit.$galleriaAlbumi);
        $galleriaAlbumitFirst[] = array($muokattu, $galleriaAlbumi);
      }
    }
  }
  closedir($galleriaHaeAlbumitKansio);

  rsort($galleriaAlbumitFirst);

  for($i = 0; $i < count($galleriaAlbumitFirst); $i++)
  {
    $galleriaAlbumit[] = $galleriaAlbumitFirst[$i][1];
  }
}

Antti Laaksonen [31.05.2006 21:56:39]

#

Ratkaisusi on juuri hyvä! Sama toteutus oli minullakin mielessä.

Vastaus

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

Tietoa sivustosta