Avatar billede crapmaster Nybegynder
25. juni 2003 - 00:51 Der er 17 kommentarer og
2 løsninger

Undgå en fil bliver talt med

Hej igen alle sammen
Jeg har en mappe man kan smide filer i fra min side,
Nu vil jeg lige høre om der ikke er en der kan fortælle mig hvordan jeg gør vis der er en tybe fil (php) der ikke skal vises på listen.
Avatar billede 44fire44 Nybegynder
25. juni 2003 - 00:53 #1
hvor er dit script??
Avatar billede 44fire44 Nybegynder
25. juni 2003 - 00:55 #2
du laver en variabel der hedder: $uploadtyper

altså fx. her er et eksembel med kun billeder..:

$uploadtyper = array("image/pjpeg", "image/jpeg", "image/x-png", "image/gif");

    if(in_array($_FILES['img']['type'], $uploadtyper)) {

if($_FILES['img']['type'] == $uploadtyper[0] || $_FILES['img']['type'] == $uploadtyper[1]) {
$newname = $_SESSION['s_brugernavn'] .".jpg";
    }elseif($_FILES['img']['type'] == $uploadtyper[2]) {
$newname = $_SESSION['s_brugernavn'] .".png";
    }elseif($_FILES['img']['type'] == $uploadtyper[3]) {
$newname = $_SESSION['s_brugernavn'] .".gif";
    }
Avatar billede 44fire44 Nybegynder
25. juni 2003 - 00:56 #3
$_SESSION['s_brugernavn'] - skal du så lave om til filens reelle navn, altså det der står i formen...
Avatar billede crapmaster Nybegynder
25. juni 2003 - 00:57 #4
>>>Koden:<<<<

<?
header("Content-type: text/vnd.wap.wml");
echo "<?xml version=\"1.0\"?>";
echo "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\""." \"http://www.wapforum.org/DTD/wml_1.1.xml\">";

include("../wapbuddy_settings.php");
if (!isset($page)) {$page = 0;}
$total = 0;

if(!($dp = opendir("./"))) die ("Cannot open ./");
$file_array = array();
while ($file = readdir ($dp))
    {
    if(substr($file,0,1) != '.' and $file != "index.php")
        {
        $file_array[] =  $file;
        }
    }
$file_count = count ($file_array);
sort ($file_array);
?>
<wml>
<card id="card1" title="<? echo $conf["site_name"] ?>">
    <p mode="nowrap">
        <do type="option" label="Home"><go href="../index.php"/></do>
        <? echo "<a href=\"../index.php\">Home</a><br/><br/>"; ?>
        <?
       
        if ($file_count > 0)
            {
            $first_record = $page * $conf["items_per_page"];
            $last_record = $first_record + $conf["items_per_page"];
           
            while (list($fileIndexValue, $file_name) = each ($file_array))
                {
               
                if (($fileIndexValue >= $first_record) AND ($fileIndexValue < $last_record))
                    {
           
                    echo "<a href=\"$file_name\">$file_name</a> (". round(filesize($file_name)/1024,1) . "kb)<br/>";
                    $total = $total + filesize($file_name);
                    }
                }
           
            if (($file_count > 0) AND ($page != 0))
                {
                // previous button
                $prev_page = $page -1;
                echo "<br/><a href=\"".$_SERVER["PHP_SELF"]."?page=$prev_page\">Prev</a><br/>";
                }
           
           
            if (($file_count > 0) AND ($last_record < $file_count))
                {
                // next button
                $next_page = $page + 1;
                echo "<br/><a href=\"".$_SERVER["PHP_SELF"]."?page=$next_page\">Next</a><br/>";
                }
            echo "<br/>Directory:<br/>$file_count ";
            if ($file_count == 1)
                {echo "file";}
            else
                {echo "files";}
               
            echo " (" . round($total/1024,1) . "kb)";
            echo "<br/><a href=\"../index.php\">Home</a>";
            }
        closedir($dp);
        ?>
       
    </p>
</card>
</wml>
Avatar billede erikjacobsen Ekspert
25. juni 2003 - 00:58 #5
if(substr($file,0,1) != '.' && !ereg('\.php$',$file))
Avatar billede crapmaster Nybegynder
25. juni 2003 - 00:59 #6
Hvor henne i koden ????
Avatar billede 44fire44 Nybegynder
25. juni 2003 - 01:01 #7
ja, erik - du var sq hurtigst med den dér ;))
Avatar billede 44fire44 Nybegynder
25. juni 2003 - 01:01 #8
{
    if(substr($file,0,1) != '.' and $file != "index.php")
        {
        $file_array[] =  $file;
        }
    }
Avatar billede 44fire44 Nybegynder
25. juni 2003 - 01:03 #9
hehe, er du ved at sætte en WAP side op??

det er der sq alligevel ikke ret mange der gør... - og de færreste ved at de fleste webhoteller understøtter det...
Avatar billede 44fire44 Nybegynder
25. juni 2003 - 01:06 #10
nå... - smutter nu - har ikke lukket et øje i 20 timer, så er liiidt træt!!

sov godt, og jeg vender tilbage i morgen tidlig, når jeg har fået øjne...

/44fire44
Avatar billede crapmaster Nybegynder
25. juni 2003 - 01:06 #11
Ja jeg er....

Men den der kode du gav mig hvordan og hvor er det lige den skal være
Avatar billede crapmaster Nybegynder
25. juni 2003 - 01:07 #12
Det kan godt være jeg er dum...:-(
Avatar billede crapmaster Nybegynder
25. juni 2003 - 01:09 #13
Min kode efter jeg har sat den ind:


<?
header("Content-type: text/vnd.wap.wml");
echo "<?xml version=\"1.0\"?>";
echo "<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\""." \"http://www.wapforum.org/DTD/wml_1.1.xml\">";

include("../wapbuddy_settings.php");
if (!isset($page)) {$page = 0;}
$total = 0;

if(!($dp = opendir("./"))) die ("Cannot open ./");
$file_array = array();
while ($file = readdir ($dp))
    {
    if(substr($file,0,1) != '.' and $file != "index.php")
        {
        $file_array[] =  $file;
        }
    }
$file_count = count ($file_array);
sort ($file_array);
?>
<wml>
<card id="card1" title="<? echo $conf["site_name"] ?>">
    <p mode="nowrap">
        <do type="option" label="Home"><go href="../index.php"/></do>
        <? echo "<a href=\"../index.php\">Home</a><br/><br/>"; ?>
        <?
       
        if ($file_count > 0)
            {
            $first_record = $page * $conf["items_per_page"];
            $last_record = $first_record + $conf["items_per_page"];
           
            while (list($fileIndexValue, $file_name) = each ($file_array))
                {
               
                if (($fileIndexValue >= $first_record) AND ($fileIndexValue < $last_record))
                    {
           
                    echo "<a href=\"$file_name\">$file_name</a> (". round(filesize($file_name)/1024,1) . "kb)<br/>";
                    $total = $total + filesize($file_name);
                    }
                }
           
            if (($file_count > 0) AND ($page != 0))
                {
                // previous button
                $prev_page = $page -1;
                echo "<br/><a href=\"".$_SERVER["PHP_SELF"]."?page=$prev_page\">Prev</a><br/>";
                }
           
           
            if (($file_count > 0) AND ($last_record < $file_count))
                {
                // next button
                $next_page = $page + 1;
                echo "<br/><a href=\"".$_SERVER["PHP_SELF"]."?page=$next_page\">Next</a><br/>";
                }
            echo "<br/>Directory:<br/>$file_count ";
            if ($file_count == 1)
                {echo "file";}
            else
                {echo "files";}
               
            echo " (" . round($total/1024,1) . "kb)";
            echo "<br/><a href=\"../index.php\">Home</a>";
            }
        closedir($dp);
        ?>
       
    </p>
</card>
</wml>
Avatar billede crapmaster Nybegynder
25. juni 2003 - 01:15 #14
Fuck Det er sku den forkertet kode i fik

Har er den ,,,,Det må i MEGET undskylde


<?php

/* Funktioner der benyttes */

function list_filer($bibliotek) {

  if($bib = @opendir($bibliotek)) {
    /**
    * Denne syntaks er forklaret i PHP-manualen:
    * http://www.php.net/manual/en/function.readdir.php
    */
    while (false !== ($fil = readdir($bib))) {
      if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
          $fil_liste[] = "<a href=\"$bibliotek/$fil\">$fil</a>";
      }
    }
    closedir($bib);

    if(is_array($fil_liste)) {
      $liste = "<li>" . join("</li><li>", $fil_liste) . "</li>";
    } else {
      $liste = "<li>Ingen filer p&aring; lager</li>";
    }
    return "<h2>Filer p&aring; lager:</h2><ul>" . $liste . "</ul>";
  } else {
    die("Kunne ikke &aring;bne biblioteket: " . $bibliotek);
  }

}

function upload_fil($fil, $max_stoerrelse = 1000, $bibliotek = "default", $filtyper_tilladt = "default") {

    if ($bibliotek == "default") {
        $bibliotek = "upload";
    }

    if ($filtyper_tilladt == "default") {
        $filtyper_tilladt = array("image/bmp", "image/jpeg" , "text/plain", "application/x-zip-compressed" , "image/pjpeg", "image/png", "image/gif");
    }

    if ($fil["size"] > 0) {
       
        $filnavn = strtolower(ereg_replace(" ", "_", $fil["name"]));
        $fra = $fil["tmp_name"];
        $til = $bibliotek . "/" . $filnavn;
        $fil_stoerrelse = filesize($fra)/1024;
        $filtype = $fil["type"];
        $fejl = 0;

        if (!in_array($filtype, $filtyper_tilladt)) {
            echo "<p>Filtypen '$filtype' er ikke tilladt. De tilladte filtyper er '" . implode("', '", $filtyper_tilladt) . "'. Filen '$filnavn' kan derfor ikke uploades!</p>";
            $fejl = 1;
        }
        if ($fil_stoerrelse > $max_stoerrelse) {
            echo "<p>Filen '$filnavn' er for stor og kan ikke uploades. Den fylder " . ceil($fil_stoerrelse) . " kb og der kan maximalt uploades $max_stoerrelse kb!</p>";
            $fejl = 1;
        }
        if ($fejl == 0) {
            if (file_exists($til)) {
               
                $pos = strrpos($filnavn, ".");
                $foerpos = substr($filnavn, 0, $pos);
                $efterpos = substr($filnavn, $pos + 1, strlen($filnavn) - ($pos + 1));
                $i = 2;
               
                echo "<p>Filen '$filnavn' eksisterer allerede i '" . $bibliotek . "' og filen omdøbes derfor til ";
               
                while (file_exists($til)) {
                    $filnavn = $foerpos . "(" . $i . ")." . $efterpos;
                    $til = $bibliotek . "/" . $filnavn;
                    $i++;
                }
                echo "'$filnavn'</p>";
            }

            if (move_uploaded_file($fra, $til)) {
                return $fil_sti;
            } else {
                echo "<p>Desværre, filen '$filnavn' kunne ikke uploades!</p>";
                return false;
            }
        }
    } else {
        echo "<p>Der er ikke vedhæftet nogen fil!</p>";
    }
}

/* Siden starter */

if ($_POST[sendknap]) {

    $fil = $_FILES["upfil"];
    upload_fil($fil);

}
?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
<fieldset>
  Upload fil<br />
  <input type="file" name="upfil" size="30" /><br />
  <input type="submit" name="sendknap" value="upload" />
</fieldset>
</form>

<?php
echo list_filer("upload");
?>
Avatar billede ahv Nybegynder
25. juni 2003 - 01:18 #15
if($fil != "." && $fil != ".." && !ereg("^\..+", $fil) && !ereg('\.php$',$fil)) {
Avatar billede ahv Nybegynder
25. juni 2003 - 01:21 #16
Ønsker du flere filer der ikke skal vises gør du blot flg. ->

if($fil != "." && $fil != ".." && !ereg("^\..+", $fil) && !ereg('\.php$|\.txt$',$fil)) {

Nu viser den heller ikke txt, altså du sætter en | og skriver \. også endelsen
Avatar billede crapmaster Nybegynder
25. juni 2003 - 01:24 #17
//Lukker,

I er bare for fede tusen tak for alt jers hjælp
Avatar billede 44fire44 Nybegynder
25. juni 2003 - 11:03 #18
go'morgen ;)

takker for points - ked af at jeg ikke nåede at hjælpe dig færdig, hehe

/44fire44
Avatar billede crapmaster Nybegynder
25. juni 2003 - 22:59 #19
Det er ok....
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