Avatar billede d.kryger Praktikant
16. april 2004 - 11:17 Der er 5 kommentarer og
1 løsning

Upload Excel-fil til server

Hej eksperter...

Jeg har en side hvor jeg gerne vil upload excel-filer, men den vil ikke... jeg bruger "application/msexcel"...

Hvad går der galt?

$filer_tilladt = array("image/pjpeg", "image/jpeg", "image/gif", "image/jpg", "application/msword", "application/msexcel");

Alle de andre filtyper kan godt uploades...
Avatar billede d.kryger Praktikant
16. april 2004 - 11:36 #1
Er der ikke nogen der kan hjælpe?
Avatar billede Slettet bruger
16. april 2004 - 14:34 #2
Det er ikke nemt at sige, hvad der er galt, når du ikke fortæller, hvad der sker. "Den vil ikke" er ikke nok til at fejlsøge ud fra.
Avatar billede d.kryger Praktikant
16. april 2004 - 14:50 #3
Hej Sandbox.

Nej det er rigtigt, så du får lige lidt mere info.
Med nedenstående kode kan jeg godt uploade jpg, gif og doc filer, men ikke xls.

Kode:
if ($fejl==false)
{
    $fil = $_FILES["billede"];

    if ($fil["name"] != "")
    {
        function upload_fil($fil, $staevnetitel, $datomånedår, $max_stoerrelse = 250, $bibliotek = "default", $filtyper_tilladt = "default")
        {
            $filnavn = strtolower(ereg_replace(" ", "_", $fil["name"]));
            $fra = $fil["tmp_name"];
            $fil_stoerrelse = filesize($fra)/1024;
            $filtype = $fil["type"];
            $fejl = "0";

            if(!in_array($filtype, $filtyper_tilladt))
            {
                print "<font face='Verdana' color='red' size='1'>Den valgte filtype er ikke tilladt. Det er kun tilladt at benytte xls-filer.<br></font>";
                $fejl = "1";
            }

            if ($fil_stoerrelse > $max_stoerrelse)
            {
                print "<font face='Verdana' color='red' size='1'>Filen er for stor. Den fylder " . ceil($fil_stoerrelse) . " kb og må maximalt fylde $max_stoerrelse kb!<br></font>";
                $fejl = "1";
            }

            if ($fejl == "0")
            {
                $timestamp = time();

                $loopInt = strlen($filnavn) - 1;
                $typeStreng = "";
                $punktumFundet = false;

                while ($loopInt >= 0 && $punktumFundet == false)
                {
                    if (substr($filnavn, $loopInt, 1) == ".")
                    {
                        $punktumFundet = true;

                        $typeStreng = substr($filnavn, $loopInt, strlen($filnavn) - $loopInt);
                    }

                    $loopInt--;
                }

                $fil_sti = $bibliotek . "/" . $timestamp . $typeStreng;

                $til = $_SERVER["DOCUMENT_ROOT"] . $fil_sti;

                if (move_uploaded_file($fra, $til))
                {
                    $connection = mysql_connect("--**--","--**--","--**--");
                    $db = "--**--";
                    mysql_select_db($db);

                    mysql_query("INSERT INTO resultater (id, staevnetitel, dato, fil) VALUES (".time().", '".$_POST["staevnetitel"]."', '".$_POST["datomånedår"]."', '$fil_sti')");

                    print "Uploadet...";
                }

                exit;
            }

        }

        $fil = $_FILES["billede"];
        $max_stoerrelse = 250;
        $upload_mappe = "/xls";
        $filer_tilladt = array("image/pjpeg", "image/jpeg", "image/gif", "image/jpg", "application/msword", "application/msexcel");

        upload_fil($fil, $staevnetitel, $datomånedår, $max_stoerrelse, $upload_mappe, $filer_tilladt);
    }
    else
    {
        print "Lort";
    }

}
Avatar billede Slettet bruger
16. april 2004 - 15:10 #4
OK, så mangler jeg bare at få at vide, hvilken fejlbesked du får, eller hvad der ellers sker, når du forsøger.

Prøv eventuelt at rette denne linie:

                print "<font face='Verdana' color='red' size='1'>Den valgte filtype er ikke tilladt. Det er kun tilladt at benytte xls-filer.<br></font>";

Til:

                print "<font face='Verdana' color='red' size='1'>Den valgte filtype ({$filtype}) er ikke tilladt. Det er kun tilladt at benytte xls-filer.<br></font>";

Hvis nu browseren ikke har helt samme ide om hvad type filen skal kaldes. (Måske den bruger application/octet-stream, som bare betyder, at den ikke aner hvad det er for noget.)
Avatar billede d.kryger Praktikant
16. april 2004 - 15:15 #5
Den kommer med: application/vnd.ms-excel
Den har jeg tilføjet, og nu virker det.
Læg et svar og du får point...
Avatar billede Slettet bruger
16. april 2004 - 15:32 #6
Kommer her
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