Avatar billede schunck Juniormester
21. juli 2007 - 00:17 Der er 4 kommentarer og
1 løsning

upload fil / fejl

hvorfor virker det her ikke?

Nb.: det er kun uploadningen af selve filerne der ikke virker. Resten fungerer som det skal.

if($upload){
    $fil_name = eregi_replace("æ","ae",$fil_name);
    $fil_name = eregi_replace("Æ","AE",$fil_name);
    $fil_name = eregi_replace("ø","o",$fil_name);
    $fil_name = eregi_replace("Ø","o",$fil_name);
    $fil_name = eregi_replace("Å","AA",$fil_name);
    $fil_name = eregi_replace("å","a",$fil_name);
    $fil_name = eregi_replace(" ","_",$fil_name);
    $fil_name = eregi_replace(",","",$fil_name);
    $fil_name = eregi_replace("\)","",$fil_name);
    $fil_name = eregi_replace("\(","",$fil_name);
    $fil_name = eregi_replace("\&","_og_",$fil_name);
//    $fil_name = eregi_replace("\\","",$fil_name);
    copy($fil,"../filer/".$fil_name);
    unlink($fil);
    echo "<script>location.href='uploadfil.php'</script>";

}
if($slet){
    if(!unlink("../filer/".$slet)){
       
        ftp_delete("../filer/$slet");
//        ftp_close($conn);
    }
    echo "<script>location.href='uploadfil.php'</script>";
}

?>

   
<form ENCTYPE="multipart/form-data" name="form" method="post">
<table cellspacing="0" cellpadding="5" width="100%" border="0">
    <tr>
        <td width="100">
            <br>
            <input type="hidden" name="MAX_FILE_SIZE" value="1000000000">
            <input type="file" name="fil" class='button'><br>
        </td>
        <td rowspan="2" valign="top">
        <table cellspacing="0" cellpadding="5" border="0">
            <tr>
            <td>
            Eksisterende filer:<br>
            <i>slet filen ved at trykke på den</i><br>
            <!--?=$this_dir?-->
            </td></tr><tr>
            <?
            $bib = opendir("../filer/");
            $i= 0;
            while($indhold = readdir($bib)){
                if(!is_dir($indhold)){
                    if($i==3){
                        echo '</tr><tr><td class="vis">';
                        echo "<a href=\"#\" onclick=\"if(confirm('Vi du slette filen $indhold')){location.href='uploadfil.php?slet=$indhold'}\">".substr($indhold,0,15)."...</a></td>";
                        $i = 0;
                    }else{
                        echo "<td class=\"vis\"><a href=\"#\" onclick=\"if(confirm('Vi du slette filen $indhold')){location.href='uploadfil.php?slet=$indhold'}\">".substr($indhold,0,15)."</a></td>";
                        $i+=1;
                    }
                }
            }
?>
            </tr>
        </table>
        </td>
    </tr>
    <tr>
        <td>
            <input type="submit" value=" Upload " class="button">
            <input type="hidden" value="1" name="upload">
        </td>
    </tr>
</table>
</form>
</div>
Avatar billede jakobdo Ekspert
21. juli 2007 - 09:16 #1
Prøv at test dette upload-kode:

if(isset($_POST['upload'])
{
    $fil_name = $_FILES['fil']['name'];
    $fil_name = eregi_replace("æ","ae",$fil_name);
    $fil_name = eregi_replace("Æ","AE",$fil_name);
    $fil_name = eregi_replace("ø","o",$fil_name);
    $fil_name = eregi_replace("Ø","o",$fil_name);
    $fil_name = eregi_replace("Å","AA",$fil_name);
    $fil_name = eregi_replace("å","a",$fil_name);
    $fil_name = eregi_replace(" ","_",$fil_name);
    $fil_name = eregi_replace(",","",$fil_name);
    $fil_name = eregi_replace("\)","",$fil_name);
    $fil_name = eregi_replace("\(","",$fil_name);
    $fil_name = eregi_replace("\&","_og_",$fil_name);
    //$fil_name = eregi_replace("\\","",$fil_name);
    move_uploaded_file($_FILES['fil']['tmp_name'],"../filer/".$fil_name);
    echo "<script>location.href='uploadfil.php'</script>";
}

if($slet)
{
    if(!unlink("../filer/".$slet))
    {
        ftp_delete("../filer/$slet");
        //ftp_close($conn);
    }
    echo "<script>location.href='uploadfil.php'</script>";
}

?>


Har du noget kontrol på den upload side der?
Ellers kan alle jo uploade skadelige php filer og ødelægge din server/dit webhotel.
Avatar billede schunck Juniormester
21. juli 2007 - 12:32 #2
Du manglede lige en ')' i linje 1, men derudover virker den...

Så smid et svar, og du får dine point.
Avatar billede jakobdo Ekspert
22. juli 2007 - 13:18 #3
Svar!
Ja, den ) mangler jeg alt for tit. :o(
Avatar billede schunck Juniormester
22. juli 2007 - 19:14 #4
Og for i øvrigt... så har jeg selvfølgelig et login til denne uploadside.
Avatar billede jakobdo Ekspert
22. juli 2007 - 19:23 #5
Takker for point.
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