Avatar billede andsvel Nybegynder
13. maj 2008 - 10:06 Der er 5 kommentarer og
1 løsning

readdir, men ikke .php filer

halløj, Jeg vil gerne have at dette script undlader at vise php filerne i mit dir:

<form enctype="multipart/form-data" action="xxxxx.php" method="post">
<?
error_reporting(E_ALL);

if ($_POST[slet]) {
  foreach ($_POST[slet]  as $fil) {
    unlink($fil);
    print $fil." er slettet";
  }
} elseif ($_POST[submit]) {
  echo "vælg en fil !";
}



$maindir = "." ;
$mydir = opendir($maindir);
$exclude = array( "index.php",".", "..");




while($fn = readdir($mydir)) {
    if ($fn == $exclude[0] || $fn == $exclude[1]) continue;
   
    echo "<br> <input type=\"checkbox\" name=\"slet[]\" value=\"$fn\"><font size='1' face='Verdana'><a href='$fn'>$fn</a> ";
}

closedir($mydir);
echo "<p><input type='submit' value='Slet' name='B1'><input type='reset' value='Nulstil' name='B2'></p>";

echo "</form>";

exit;
?>
Avatar billede mxs Nybegynder
13. maj 2008 - 10:35 #1
Fundet på http://dk.php.net/manual/en/function.filetype.php, skrevet af rich dot fleming at NOSPAM dot gmail dot com den 26-Feb-2008 04:08

<?php
    $file = "/some/path/to/your.file_stored_here.txt";
    $extension = array_pop(explode(".", $file));
?>

Du kan lave en funktion ud af det, som zachary.s.scott[at]gmail[dot]com gør i kommentaren skrevet den 14-Jan-2008 05:15 på http://dk.php.net/manual/en/function.filetype.php som hedder fileExtension, hvor fileExtension returnere $extension. Noget ala,

function fileExtension($file)
{
    return $extension = array_pop(explode(".", $file));
}

og bruge den til at kontrollere op med. Altså

if(!fileExtesion($path_to_fil) == "php")
{
    //kode til håndtering af filer der ikke ender med php
}
Avatar billede andsvel Nybegynder
13. maj 2008 - 11:22 #2
Kan du hjælpe mig lidt med at få det implementeret i koden?
Avatar billede xicrow Nybegynder
14. maj 2008 - 18:56 #3
<form enctype="multipart/form-data" action="xxxxx.php" method="post">
<?
error_reporting(E_ALL);

if ($_POST[slet]) {
  foreach ($_POST[slet]  as $fil) {
    unlink($fil);
    print $fil." er slettet";
  }
} elseif ($_POST[submit]) {
  echo "vælg en fil !";
}



$maindir = "." ;
$mydir = opendir($maindir);
$exclude = array( "index.php",".", "..");

function fileExtension($file)
{
    return $extension = array_pop(explode(".", $file));
}


while($fn = readdir($mydir)) {
    if(fileExtesion($fn) != "php")
        {
        if ($fn == $exclude[0] || $fn == $exclude[1]) continue;
   
        echo "<br> <input type=\"checkbox\" name=\"slet[]\" value=\"$fn\"><font size='1' face='Verdana'><a href='$fn'>$fn</a> ";
        }
}

closedir($mydir);
echo "<p><input type='submit' value='Slet' name='B1'><input type='reset' value='Nulstil' name='B2'></p>";

echo "</form>";

exit;
?>

Skulle jeg mene der virker :)

/xicrow
Avatar billede andsvel Nybegynder
15. maj 2008 - 08:31 #4
Der sker ikke rigtig noget :-) Blank side
Avatar billede andsvel Nybegynder
15. maj 2008 - 08:52 #5
function fileExtension($file)
{
    return $extension = array_pop(explode(".", $file));
}

skal det ikke være

function fileExtension($fil)
{
    return $extension = array_pop(explode(".", $fil));
}

ikke fordi det får det til at virke...
Avatar billede andsvel Nybegynder
09. juli 2008 - 14:01 #6
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester