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

260

    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. Maatalous- ja yritystuet pois, työeläkevaroilla valtion velka pois

      Suomi saadaan eheytettyä kädenkäänteessä, kun uskalletaan tehdä rohkeita ratkaisuja. Maatalous- ja yritystuet ovat hait
      Maailman menoa
      23
      3133
    2. Hei! Halusin vain kertoa.

      En tiedä luetko näitä, mutta näimme n.4vk sitten, vaihdoimme muutaman sanan ja tunsin edelleen kipinän välillämme. Katso
      Tunteet
      3
      753
    3. Kirjoittaisit edes jotain josta tiedän

      Varmasti oletko se oikeasti sinä. Tänään tälläinen olo. 🫩
      Ikävä
      68
      750
    4. Miksi ikävä ei helpotu vuosien jälkeenkään?

      Tänään olin ensimmäistä kertaa sinun lähtösi jälkeen tilassa, jossa vuosia sitten nähtiin ensimmäistä kerta. Ollessani
      Rakkaus ja rakastaminen
      3
      690
    5. Mistä tietää, onko hän se oikea?

      Siitä, kun sitä ei tarvitse miettiä. Siitä, kun hänen olemassa oleminen ja ajatteleminen saa hymyilemään. Siitä, kun ha
      Ikävä
      35
      597
    6. Miten voitkin olla aina niin fiksu

      ...aina niin huomaavainen, kärryillä ja kartalla. Yritän etsimällä etsiä sinusta jotain vikaa, että saisin pidettyä sydä
      Ikävä
      32
      591
    7. Tiesitkö? Suomessa lääkäri voi toimia ammatissaan, vaikka hän olisi seksuaalirikollinen

      Järkyttävää… Motin mukaan Suomessa lääkäri voi toimia ammatissaan, vaikka hän olisi yksityiselämässään syyllistynyt es
      Maailman menoa
      19
      530
    8. Mitä ajattelet

      Meistä nykyään.
      Ikävä
      38
      523
    9. Oletko varma

      Ettei meistä tule mitään?
      Ikävä
      40
      521
    10. Sofia Zida puhuu rehellisesti suhteesta Andy McCoyhin: "Se on ollut mulle tavallaan..."

      Sofia ja Andy, aika hellyttävä parivaljakko. Sofia Zida on mukana Petolliset-sarjassa. Hänet nähtiin Yökylässä Maria Ve
      Suomalaiset julkkikset
      3
      519
    Aihe