Avatar billede htx98i17 Professor
12. juli 2007 - 10:04 Der er 6 kommentarer og
1 løsning

Filupload problemer

Jeg har følgende som fungerede fint på den "gamle" server. Men nu kommer følgende fejl:

Warning: file() expects parameter 1 to be string, array given in line 6

Det er $_FILES['filen'] der skal bruges.

<? include("../inc_db_connect.php");
   
    if($_POST['submit'] && $_POST['metode'] && ($_FILES['filen'] || $_POST['filnavn'])) {
       
        $file = ($metode == 2) ? $_FILES['filen'] : $_POST['filnavn'];
        $file = file($file);
        $arr = array();
        foreach ($file AS $key => $val) {
            $var = explode(";", $val);
            for ($i=0;$i<count($var);$i++) {
                $arr[$key][] = substr($var[$i], 0, strlen($var[$i])-0);
            }
         
        }
       
        if($_POST['truncate']) {
            mysql_query("TRUNCATE TABLE tblmaterialer") or die(mysql_error());
        }
       
        for($i = 0; count($arr)>$i;$i++) {
            $pris = str_replace(",",".",$arr[$i][2]);
            $pris = str_replace(" ","",$pris);
            $afgift = str_replace(",",".",$arr[$i][3]);
            $afgift = str_replace(" ","",$afgift);
            $sql = "INSERT INTO tblmaterialer (ean,varetekst,pris,afgift) VALUES ('".$arr[$i][0]."','".addslashes($arr[$i][1])."','$pris','$afgift')";
            //echo$sql."<br>";
            if($arr[$i][1]) {
                mysql_query($sql) or die(mysql_error());
            }
        }
   
   
    }
    $returnurl = "http://".$_SERVER['HTTP_HOST']."/admin/?a2=c70";
    //header("Location: $returnurl");
?>
Avatar billede sw_red_6 Nybegynder
12. juli 2007 - 10:09 #1
prøv at lave det her:
$file = ($metode == 2) ? $_FILES['filen'] :
om til det her:
$file = ($metode == 2) ? $_FILES['filen']['name'] :

Det skulle gerne skrive filnavnet i variablen og det er det funktionen skal bruge..
Avatar billede htx98i17 Professor
12. juli 2007 - 10:14 #2
det giver følgende fejl:
Warning: file(eksempel_paa_materialeimport.csv) [function.file]: failed to open stream: No such file or directory

Den tror den skal finde en fil, men filen er allerede en variabel da den jo uploades via en form. Forstår du?
Avatar billede sw_red_6 Nybegynder
12. juli 2007 - 10:44 #3
Jeg skal være helt ærlig og sige at jeg ikke helt ved hvad du prøver her så måske en lille forklaring af scriptet?
Avatar billede kinderaeg Nybegynder
12. juli 2007 - 10:51 #4
Mon ikke du skal bruge $_FILES['filen']['tmp_name'], indtil du evt gemmer filen et sted.
Avatar billede htx98i17 Professor
12. juli 2007 - 10:53 #5
Jeg vil bare uploade en csv-fil og sætte værdierne ind i databasen.

$_FILES['filen']['tmp_name'] var løsningen.

lig et svar
Avatar billede kinderaeg Nybegynder
12. juli 2007 - 10:59 #6
Svar ;)
Avatar billede htx98i17 Professor
12. juli 2007 - 11:02 #7
tak for deltagelsen til begge
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