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.
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.
Vastaukset 4
Vanhimmat
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);
}
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
Miksi pitää tehdä noin vaikeesti?
Globilla pystyy määrittelee suoraan halutut tiedostotyypit, http://fi.php.net/manual/en/function.glob.php