Avatar billede larsgrau Forsker
22. april 2022 - 09:45 Der er 2 kommentarer og
1 løsning

Import CSV

Hej

Jeg vil gerne import en nogle csv filer, men mit problem er at hver felt ind holder  komma f.eks.

"name","mellemnavn,Efternavn","status"

Men det skal kun ind i 3 felter, jeg har prøver denne kode

<?php
// Load the database configuration file
include_once 'dbConfig.php';

if(isset($_POST['importSubmit'])){
   
    // Allowed mime types
    $csvMimes = array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain');
   
    // Validate whether selected file is a CSV file
    if(!empty($_FILES['file']['name']) && in_array($_FILES['file']['type'], $csvMimes)){
       
        // If the file is uploaded
        if(is_uploaded_file($_FILES['file']['tmp_name'])){
           
            // Open uploaded CSV file with read-only mode
            $csvFile = fopen($_FILES['file']['tmp_name'], 'r');
           
            // Skip the first line
            fgetcsv($csvFile);
           
            // Parse data from CSV file line by line
            while(($line = fgetcsv($csvFile)) !== FALSE){
                // Get row data
                $name  = $line[0];
                $email  = $line[1];
                $phone  = $line[2];
 
               
Men den fejler da den ser det som 4 felter, for hvis jeg laver den 4. celle virker
Nogen som har en ide til hvordan man løser dette
Avatar billede ejvindh Ekspert
22. april 2022 - 09:58 #1
...og du er sikker på, at der er dobbelt-anførselstegn omkring felterne i din csv-filer?
Avatar billede larsgrau Forsker
22. april 2022 - 15:57 #2
Ja det er jeg
Avatar billede arne_v Ekspert
22. april 2022 - 20:22 #3
Jeg tror at vi mangler noget information.

Hvad dækker "Men den fejler da den ser det som 4 felter, for hvis jeg laver den 4. celle virker" over? Sådan helt konkret fejlbesked eller forkerte data.

Og:

"name","mellemnavn,Efternavn","status"

// Parse data from CSV file line by line
            while(($line = fgetcsv($csvFile)) !== FALSE){
                // Get row data
                $name  = $line[0];
                $email  = $line[1];
                $phone  = $line[2];

matcher jo tydeligvis ikke.
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

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