Yüklenen bir CSV dosyasını ayrıştırma ve veritabanına veri depolama

1 Cevap php

Ben istiyorum php kullanarak aşağıdaki işlevselliği

Ben bir csv dosyası var. Her dosya benim veritabanında bir satır karşılık

Bana csv dosyasını seçmek için izin verecek bir html formu var.

Form gönderildikten sonra bir kez, ben csv dosyayı ayrıştırmak ve buna db veri eklemek gerekir

Bunu nasıl yapıyor hakkında nasıl gidiyor?

1 Cevap

CSV dosyası okuma genellikle kullanılarak yapılabilir fgetcsv function (depending on your kind of CSV file, you might have to specify the delimiter, separator, ... as parameters)

Hangi hattı ile size dosya hattı geçiyor, bu gibi bir şey daha zor olmaz anlamına gelir:

$f = fopen('/path/to/file', 'r');
if ($f) {
    while ($line = fgetcsv($f)) {  // You might need to specify more parameters
        // deal with $line.
        // $line[0] is the first column of the file
        // $line[1] is the second cokumn
        // ...
    }
    fclose($f);
} else {
    // error
}

(Not tested, but example given on the manual page of fgetcsv) başlamanıza yardımcı olmalıdır

Tabii ki, yüklenen dosyaya doğru yol almak gerekecek - $_FILE superglobal görmek ve bu konuda daha fazla bilgi almak için Handling file uploads üzerine bölüm.

Ve, veritabanına verileri kaydetmek için, sizin DB motoru uygun API kullanmak zorunda olacak - MySQL kullanıyorsanız, ya da kullanmak gerekir:

  • mysqli
    • Yerine eski mysql uzantısı (which doesn't support features added in MySQL >= 4.1), mysqli tercih gerektiğini unutmayın
  • ya da PDO