Разбор загруженного CSV-файла и сохранение данных в базе данных

Я хочу использовать следующую функциональность, используя php

У меня есть файл csv. Каждый файл соответствует строке в моей базе данных

Существует html-форма, которая позволит мне выбрать файл csv.

Затем, после отправки формы, я должен проанализировать файл csv и вставить данные в db соответственно

Как мне это сделать?

Чтение CSV-файла обычно можно выполнить с fgetcsv функции fgetcsv (в зависимости от вашего типа файла CSV вам может потребоваться указать разделитель, разделитель, … как параметры)

Это означает, что переход через ваш файл по строкам не будет намного сложнее, чем что-то вроде этого:

 $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 column // ... } fclose($f); } else { // error } 

(Не тестировалось, но пример, приведенный на странице руководства fgetcsv, должен помочь вам начать работу)

Конечно, вам нужно будет получить правильный путь к загруженному файлу – для получения дополнительной информации об этом см. $_FILE файл $_FILE и раздел « $_FILE файлов» .

И, чтобы сохранить данные в вашей базе данных, вам придется использовать API, который подходит вашему движку базы данных – если вы используете MySQL, вы должны использовать либо:

  • MySQLi
    • Обратите внимание, что вам следует предпочесть mysqli вместо старого расширения mysql (которое не поддерживает функции, добавленные в MySQL> = 4.1)
  • или PDO