PHP tiedostolistaus (määritys mitkä tied. näkyvät)

Moukan tuurilla

Pohjana olen käyttänyt: http://www.ohjelmointiputka.net/koodit_nayta.php?tunnus=286

Millä konstilla saisi määriteltyä joko ne tiedostot mitkä listataan (esim: jpg, gif, pdf...) ... tai vastaavasti mitä tiedostoja ei listata.

Olen fiilannut html/php:tä niin, että tiedostot avautuvat listauksen alla olevaan iframeen ja sinne aukee tietty myös tuon index.php (sama listaus aukeaa silloin myös iframeen - näkyvät päällekäin). Samaten hakemistossa on .htaccess -tiedosto, eikä senkään tarvitsisi listauksessa näkyä: iframeen avautuu ainoastaan virheilmoitus.

Php-taidot on luokka "moukan tuurilla", joten jos viitsitte vastata, huomioikaa tuo.

4

194

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • BC

      Laitat tuohon if is_dir -ehtolauseen else kohtaan uuden ehtolauseen, jossa tarkistat muuttujasta $ltied onko tiedoston nimi kiellettyjen listalla. Tämän voisi toteuttaa vaikka näin:

      $estetyt = array("index.php", ".htaccess", "jne", "jne");
      if(in_array($ltied, $estetyt))
      {
      echo "";
      echo "$ltied";
      echo "".filesize($ltied)."";
      echo "".date("d.m.y H:i",filectime($ltied))."";
      echo "";
      $tied ;
      $tiedk=$tiedk filesize($ltied);
      }

      • BC

        Anteeksi, tohon tuli perustavanlaatuinen moka. Siis tietenkin ehtolausekkeessa tulee olla käänteinen in_array -- eli suomeksi ehtolausekkeen tulisi mennä if(!in_array($ltied, $estetyt))

        Tää foorumi nähtävästi poisti tagit aaltosulkeen ja muita olennaisia merkkejä... Mutta siis muutat sen elsen sisällä olevan tulostuksen ehdolliseksi siten, että:

        else
        {
        $estetyt = array(".htaccess", ".htpasswd", "index.php");
        if(!in_array($ltied, $estetyt))
        {
        // Tulostus, eli noi echot ja niiden alla olevat laskennat
        // kopsaat vaan noi edelliset ja liität tähän väliin
        }
        }

        Ja jos hifistellä haluat, niin voit muuttaa elsen ehdolliseksi itsessään muuttamalla sen muotoon:

        elseif(!in_array($ltied, $estetyt))

        Tällön vaan toi $estetyt taulukkomuuttuja pitää olla jossain ylempänä koodissa. Vaikka just ennen while -ketjua.


    • Voisi käyttää myös
      if(in_array($ltied, $estetyt)) continue;

      Skippaa aina kierroksen kun löytyy estetty tiedosto

      • ----------

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mitä siellä ABC on tapahtunut

      Tavallista isompi operaatio näkyy olevan kyseessä.
      Alajärvi
      163
      6512
    2. Kuvaile elämäsi naista

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      53
      1903
    3. Klaukkalan onnettomuus 4.4

      Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes
      Nurmijärvi
      44
      1630
    4. Kuvaile elämäsi miestä

      Millainen hän on? Mikä tekee hänestä sinulle erityisen?
      Ikävä
      54
      1142
    5. Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä

      Mutta tätä ei YLE eikä Helsingin Sanomat kerto.
      Maailman menoa
      327
      1069
    6. Kolari Klaukkala

      Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se
      Nurmijärvi
      49
      1019
    7. Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!

      Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l
      Kesämökki
      13
      980
    8. Kevyt on olo

      Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <3
      Ikävä
      84
      918
    9. Olisinpa jo siellä, otatkohan minut vastaan

      Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni
      Ikävä
      79
      908
    10. Toivoisin, että lähentyisit kanssani

      Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä
      Ikävä
      14
      897
    Aihe